Konfigurationsmanager funktioniert bei einer Projektmappe nicht wie bei neuen.

  • VB.NET

Es gibt 26 Antworten in diesem Thema. Der letzte Beitrag () ist von Niko Ortner.

    Konfigurationsmanager funktioniert bei einer Projektmappe nicht wie bei neuen.

    Ich habe hier ein Problem mit einer Projektmappe.
    Bei der hat sich seit kurzem ein lästiges Verhalten eingeschlichen. Ich weiß aber nicht, was ich umgestellt habe.
    Auf diesem Screenshot sieht man die "erweiterten Buildkonfigurationen":
    Im Erstellen-Menü kann man den Konfigurationsmanager öffnen. Darin kann man zwischen Debug und Release umstellen.

    Diese kann man anzeigen lassen, wenn man unter Extras -> Optionen -> Projekte und Projektmappen -> Allgemein die CheckBox "Erweiterte Buildkonfigurationen anzeigen" auswählt. Das Problem ist aber, dass dieser Haken bei mir nicht gesetzt ist, die Einstellungen aber trotzdem angezeigt werden.
    Das wäre nicht das Problem, aber die Express-Version von Visual Basic hat ein tolles Feature (was ich bei der Professional-Version nicht gefunden habe):
    Hat man folgenden Code irgendwo im Projekt stehen:

    VB.NET-Quellcode

    1. #If CONFIG = "Debug" Then
    2. Dim Asdf As Integer = 1
    3. #ElseIf CONFIG = "Release" Then
    4. Dim Asdf As Integer = 2
    5. #End If
    , dann passiert folgendes:
    Klickt man im Erstellen-Menü auf "Projektmappe erstellen" bzw. auf "Projektmappe neu erstellen", dann wird der obere Code ausgegraut und der untere Code wird aktiv. Debuggt man dann das Projekt, wechselt es: Der obere Code wird aktiv und der untere wird ausgegraut. Beendet man das Debuggen und klickt wieder auf Erstellen, wechselt es wieder zurück.
    Hier wird also automatisch zwischen der Release- und der Debug-Konfiguration gewechselt. Das erleichtert mir das Arbeiten extrem.
    Jetzt ist es aber aktuell so, dass nicht mehr gewechselt wird.
    Es bleibt immer das, was im Konfigurationsmanager eingestellt ist (also entweder Release exklusiv-oder Debug).
    Es bringt auch nichts, in den Projekt-Einstellungen auf z.B. Release umzustellen, und anschließend auf Aktiv. (Bei Aktiv wird anscheinend automatisch ausgewählt.)
    Übrigens: Wenn ich im Projektmappen-Explorer auf die Projektmappe rechts klicke, kann ich von dort aus ebenfalls den Konfigurations-Manager aufrufen. Das ist bei anderen Projektmappen nicht so.

    Hat da jemand eine Lösung dafür? Ich habe schon die .sln-Datei und die .vbproj-Dateien durchgeschaut, aber mir ist nichts aufgefallen, was auf dieses Problem hinweist. Bei Google finde ich nur Fälle, wo Leute die manuelle Auswahl zurückhaben wollen.
    Wenn es keine Lösung gibt, erstelle ich eine neue Projektmappe und übernehme die Dateien. Das ist dann halt ein Haufen Arbeit, alle Dateien und Ordner im Projektmappenexplorer hinzuzufügen.
    "Luckily luh... luckily it wasn't poi-"
    -- Brady in Wonderland, 23. Februar 2015, 1:56
    Desktop Pinner | ApplicationSettings | OnUtils
    Ist jetzt vielleicht nicht die Lösung deines Problems aber versuche mal:

    VB.NET-Quellcode

    1. #If DEBUG Then
    2. Console.WriteLine("debug")
    3. #Else
    4. Console.WriteLine("release")
    5. #End If

    So mach ich es im Normalfall wenn ich beim Debuggen andere Werte (zB. Ordnerpfade) benötige.

    lg
    ScheduleLib 0.0.1.0
    Kleine Lib zum Anlaufen von Code zu bestimmten Zeiten
    Bringt leider auch nichts.
    Ich hab's mal so hingeschrieben:

    VB.NET-Quellcode

    1. #If CONFIG = "Debug" Then
    2. Dim Asdf As Integer = 1
    3. #ElseIf CONFIG = "Release" Then
    4. Dim Asdf As Integer = 2
    5. #Else
    6. Dim Asdf As Integer = 3
    7. #End If

    Macht keinen Unterschied. Es bleibt immer auf dem, was ich im Konfigurationsmanager eingestellt habe.
    (Nebenbei: Der Else-Teil wird nie erreicht. Es ist immer entweder "Debug" oder "Release")
    "Luckily luh... luckily it wasn't poi-"
    -- Brady in Wonderland, 23. Februar 2015, 1:56
    Desktop Pinner | ApplicationSettings | OnUtils
    @programmer71: Ich möchte ja gerade vermeide, dass ich alles aus dem alten Projekt in ein neues einfügen muss.
    Das löschen des Settings-Ordners hat keine Veränderung gebracht.

    @~blaze~: Der Haken ist weder bei diesem noch bei anderen Projekten gesetzt. Ich habe ihn testweise mal gesetzt, hat aber keine Veränderung gebracht.
    "Luckily luh... luckily it wasn't poi-"
    -- Brady in Wonderland, 23. Februar 2015, 1:56
    Desktop Pinner | ApplicationSettings | OnUtils

    programmer71 schrieb:

    Hast du irged welche Beeinträchtugungen bezüglich des Kompilierens?

    Meinst Du jetzt wenn ich es in ein neues Projekt einfüge?
    Ich denke nicht.
    Nagut, ich werde VB mal neu installieren. Bin gespannt, ob's was bringt.
    "Luckily luh... luckily it wasn't poi-"
    -- Brady in Wonderland, 23. Februar 2015, 1:56
    Desktop Pinner | ApplicationSettings | OnUtils
    So. Ich hab's neu installiert. Wenn ich jetzt ein neues Projekt erstelle, läuft alles wie erwartet.
    Wenn ich das vorhandene Projekt öffne, funktioniert's immer noch nicht. Ich denke nicht, dass es am Visual Studio, sondern eher am Projekt / an der Projektmappe selbst liegt. Naja, ich wede die Projektmappe neu machen und die Dateien kopieren.

    @VB1963: Komisch, ich hab mal bei alten Projekten nachgeschaut. Da ist diese CheckBox nirgends aktiviert. Auch wenn ich jetzt ein neues Projekt erstelle, ist diese CheckBox nicht aktiviert.

    @programmer71: Ah ok. Also ich habe das Programm noch nicht auf anderen Systemen probiert, seit es das Problem gibt. Deshalb kann ich Dir da nicht wirklich was zu sagen.
    (Nebenbei: Das dauert bei den ganzen Dateien doch etwas länger als 10 Minuten. Jede Form hat noch eine Formxy.Designer.vb, es gibt 10 Forms und dann noch 14 andere Dateien, und ein paar Ressourcen. Das dauert, bis ich da alles beisammen habe.)

    Naja, danke für eure Hilfe.
    "Luckily luh... luckily it wasn't poi-"
    -- Brady in Wonderland, 23. Februar 2015, 1:56
    Desktop Pinner | ApplicationSettings | OnUtils
    @programmer71: Danke für die Tipps.

    Das Problem ist jetzt wieder da. Ich habe es aber eingegrenzt.
    Wenn ich eine Windows-Forms-Anwendung erstelle, ist der Konfigurationsmanager anfangs ausgeblendet.
    Wenn ich jetzt in den Projekteinstellungen in der Registerkarte "Anwendung" den Anwendungstyp von "Windows-Forms-Anwendung" auf "Klassenbibliothek" umstelle, dann erscheint der Konfigurationsmanager.
    Wenn ich zurück auf "Windows-Forms-Anwendung" oder auf "Konsolenanwendung" stelle, dann verschwindet er wieder. Ich kann die Projektmappe auch beliebig öffnen und schließen. Der Konfigurationsmanager wird bei "Klassenbibliothek" angezeigt und bei "Konsolenanwendung" und "Windows-Forms-Anwendung" nicht.
    Das ist aber nicht alles:
    Wenn ich von Anfang an ein Klassenbibliothek-Projekt erstelle, dann ist der Konfigurationsmanager nicht da. Stelle ich dann auf "Windows-Forms-Anwendung" oder auf "Konsolenanwendung" um, dann erscheint er wieder.
    Und erstelle ich ein Konsolenanwendungsprojekt, dann wird der Konfigurationsmanager bei "Klassenbibliothek" angezeigt und bei "Windows-Forms-Anwendung" und "Konsolenanwendung" nicht.

    Ich versteh's einfach nicht. ?(
    "Luckily luh... luckily it wasn't poi-"
    -- Brady in Wonderland, 23. Februar 2015, 1:56
    Desktop Pinner | ApplicationSettings | OnUtils
    Also wenn das Programm trotzdem kompatibel ist, dann würde ich mir keine Gedanken machen. Bei mir ist bei der Windows-Forms Anwendung unter den Kompilier-Einstellungen "nicht zutr." Ausgewählt und die ComboBox davon disabled. Am Besten du deaktivierst die erweiterten Kompilereinstellungen, wenn jetzt möglich.
    @programmer71: Naja, ich mach manchmal schon Sachen abhängig von der aktuellen Konfiguration (z.B. Dateien kopieren, die in der Release-Version nicht kopiert werden.
    Und was ganz wichtig ist:
    Bearbeiten und Fortfahren funktioniert in der Release-Konfiguration nicht. Das heißt, ich muss jedes Mal umstellen. Das ist für mich wirklich unnötig.

    @VB1963: Ich hab mir die Debug-Konstante mal angesehen. Die wird bei Windows-Forms-Anwendungen und Konsolenanwendungen automatisch umgeschaltet. Aber das wird im Moment auch mit der Config-Konstante umgeschaltet. Ich weiß recht. Ich werd's mir später noch mal ansehen.
    "Luckily luh... luckily it wasn't poi-"
    -- Brady in Wonderland, 23. Februar 2015, 1:56
    Desktop Pinner | ApplicationSettings | OnUtils
    @programmer71: Im Settings-Ordner befinden sich weitere Ordner ("C# Express", "C++ Express", "VB Express" und "VWD Express") Im VB-Ordner befinden sich diese Dateien:

    Die Datei "Visual Studio Einstellungen 26.01.2013.vssettings" habe ich am 26.1.2013 (deswegen der Name) exportiert. Damals hat noch alles einwandfrei funktioniert. Das sind auch die Einstellungen, die ich zur Zeit verwende.
    Die anderen Dateien habe ich nicht erstellt. Die sind wohl von Visual Basic erstellt worden.
    Ich habe auch probiert, den Settings-Ordner zu entfernen. Dann hat Visual Basic beim Starten etwas länger geladen ("Benutzereinstellungen werden geladen..."), aber das Problem hat weiterhin bestanden.
    "Luckily luh... luckily it wasn't poi-"
    -- Brady in Wonderland, 23. Februar 2015, 1:56
    Desktop Pinner | ApplicationSettings | OnUtils
    Ok. Bei mir ist dort nur die CurrentSettings-Datei vorhanden. Ich will jetzt auf keinen Fall, dass du irgendwelche Probleme bekommst. Also würde ich sagen, mal alles abspeichern als Sicherheitskopie und dann die restlichen Dateien löschen. Dann sollte VB dir eine Meldung anzeigen, dass eine Datei fehlt.
    Dann sollte es gehen.
    @programmer71: Ok. Ich habe die Dateien auf den Desktop verschoben, dann habe ich Visual Studio gestartet (vorher waren keine Fenster offen).
    Zuerst kam diese Meldung:

    Dann hat es gestartet. Ich war etwas verwundert, dass unter Extras -> Einstellungen noch "Erweiterte Einstellungen" ausgewählt war. Denn soweit ich mich erinnern kann, ist standardmäßig "Grundeinstellungen" ausgewählt.
    Ich habe ein neues Projekt erstellt (Windows-Forms-Anwendung), bin in die Projekteigenschaften und habe wieder auf "Konsolenanwendung" und auf "Klassenbibliothek" gestellt. Wie oben beschrieben ist der Konfigurationsmanager bei "Klassenbibliothek" erschienen und bei "Konsolenanwendung" nicht.
    Das hat also leider nichts gebracht.

    Ich werde morgen (also eigentlich heute) Visual Studio nochmal komplett neu installieren (ich habe vorhin eine Reparatur durchgeführt. Und ich werde etwas mit den Einstellungen spielen. Mal sehen.
    "Luckily luh... luckily it wasn't poi-"
    -- Brady in Wonderland, 23. Februar 2015, 1:56
    Desktop Pinner | ApplicationSettings | OnUtils