locked
Projekt erstellen ohne Wirkung RRS feed

  • Frage

  • Hallo zusammen,

    aktuell  habe ich vermehrt das Problem, dass sich Änderungen in meinem Programmcode nicht zuverlässig überprüfen lassen. Hintergrund ist der, dass ein Programmstart (egal ob in Entwicklerumgebung oder der fertigen Exe) das Programm zwar startet, die letzten Änderungen jedoch nicht berücksichtigt werden.

    "Projektmappe erstellen" bringt auch nichts.
    Ich muss mindestens "Projektmappe bereinigen" oder "Projektmappe neu erstellen" auswählen.

    Damit komme ich aber zum zweiten Problem, dann bekomme ich die Meldung, dass die Projektmappe nicht neu erstellt werden kann weil die *.Exe im Verzeichnis bin fehle. Manchmal wird auch noch das Fehlen einer DLL die ich in meinem Programm verwende reklamiert. Wenn ich diese dann aus einer Sicherungskopie ins Verzeichnis bin einfüge klappt alles wieder eine Zeit lang.

    Ist das normal?
    Wenn ich ein brandneues Projekt starte wird die Exe-Datei doch auch erstellt. Warum muss ich bei "Projektmappe bereinigen" oder "Projektmappe neu erstellen" diese Datei händisch nachtragen?

    Gibt es einen anderen Weg (irgendwo ein Häkchen setzen oder weglassen)?

    So weiß ich bei komplexen Änderungen nie, ob mein Code gerade einen Fehler hat oder gerade wieder mal dieser Zustand erreicht ist. 


    Liebe Grüße Stefan

    Montag, 16. September 2019 10:39

Antworten

  • Kurze Antwort: nein, da ist nicht normal. Vor kurzem habe ich eine ältere Solution (58 Projekte, > 1000 .cs files) von .NET 4.5.1 auf .NET 4.7.2 gehoben und im gleichen Zuge von C# Datentypen auf CLR-Datentypen umgestellt; es wurd also so ziemlich jede Datei angefasst. Die Änderungen wurden (natürlich) komplett übernommen.

    Längere Antwort: Das hört sich erst einmal so an, als ob du auch mehrere Projekte in deiner Solution hast. Grundsätzlich ist es gar nicht so verkehrt, alle sneu zu erstellen, dauert natürlich u.U. deutlich länger. Erster Gedanke bei deiner Beschreibung: die Abhängigkeiten innerhalb der Projekte passen nicht. Üblicherweise hast du ja dann innerhalb deiner Projekte Referenzen auf andere Projekte gesetzt, also z.B. WinFormsApp1 referenziert BibliothekA und BibliothekB. BibliothekA wiederum referenziert BibliothekC und BibliothekD; BibliothekB referenziert auch BibliothekD, usw. Innerhalb der Projektmappe gibt es eine 'Build Order' also eine Reihenfolge, in der die Projekte erstellt werden. eigentlich funktioniert das bei größer werdenden Projekten ganz gut, aber es könnte sein, daß da bei dir irgendwie der Wurm drin ist. In Visual Studio (Enterprise, engliche Spracheinstellung) gibt es bei mir unter 'Project' den Punkt 'Build Order...'. Sowas sollte es bei dir (deutsche Spracheinstellung?) aber auch geben. Hier kannst du mal schauen, ob die Reihenflge der Erstellung in Ordnung ist.

    Außerdem kannst du die mal den Configuration Manager ansehen. Den findest du in VS in dem DropDown, in dem du zwischen Debug und Release wählen kannst als untersten Eintrag. Hier siehst du für jede Konfiguration, welche Projekte (auf welcher Platform) gebaut werden.

    Sollte das alles nicht helfen, musst du bei deiner Fehlerbeschreibung etwas konkreter werden: Welche DLL/EXE wird nciht gefunden? Sind das Binaries, welche innerhalb deines Projektes erstellt werden? Ist das eine eigene DLL, die du da zurückkopierst? Oder wo kommt die her?

    • Als Antwort markiert Sirius32ds Dienstag, 17. September 2019 09:31
    Dienstag, 17. September 2019 05:44

Alle Antworten

  • Kurze Antwort: nein, da ist nicht normal. Vor kurzem habe ich eine ältere Solution (58 Projekte, > 1000 .cs files) von .NET 4.5.1 auf .NET 4.7.2 gehoben und im gleichen Zuge von C# Datentypen auf CLR-Datentypen umgestellt; es wurd also so ziemlich jede Datei angefasst. Die Änderungen wurden (natürlich) komplett übernommen.

    Längere Antwort: Das hört sich erst einmal so an, als ob du auch mehrere Projekte in deiner Solution hast. Grundsätzlich ist es gar nicht so verkehrt, alle sneu zu erstellen, dauert natürlich u.U. deutlich länger. Erster Gedanke bei deiner Beschreibung: die Abhängigkeiten innerhalb der Projekte passen nicht. Üblicherweise hast du ja dann innerhalb deiner Projekte Referenzen auf andere Projekte gesetzt, also z.B. WinFormsApp1 referenziert BibliothekA und BibliothekB. BibliothekA wiederum referenziert BibliothekC und BibliothekD; BibliothekB referenziert auch BibliothekD, usw. Innerhalb der Projektmappe gibt es eine 'Build Order' also eine Reihenfolge, in der die Projekte erstellt werden. eigentlich funktioniert das bei größer werdenden Projekten ganz gut, aber es könnte sein, daß da bei dir irgendwie der Wurm drin ist. In Visual Studio (Enterprise, engliche Spracheinstellung) gibt es bei mir unter 'Project' den Punkt 'Build Order...'. Sowas sollte es bei dir (deutsche Spracheinstellung?) aber auch geben. Hier kannst du mal schauen, ob die Reihenflge der Erstellung in Ordnung ist.

    Außerdem kannst du die mal den Configuration Manager ansehen. Den findest du in VS in dem DropDown, in dem du zwischen Debug und Release wählen kannst als untersten Eintrag. Hier siehst du für jede Konfiguration, welche Projekte (auf welcher Platform) gebaut werden.

    Sollte das alles nicht helfen, musst du bei deiner Fehlerbeschreibung etwas konkreter werden: Welche DLL/EXE wird nciht gefunden? Sind das Binaries, welche innerhalb deines Projektes erstellt werden? Ist das eine eigene DLL, die du da zurückkopierst? Oder wo kommt die her?

    • Als Antwort markiert Sirius32ds Dienstag, 17. September 2019 09:31
    Dienstag, 17. September 2019 05:44
  • Dann schaue ich mir das mal an.

    Danke soweit.


    Liebe Grüße Stefan

    Dienstag, 17. September 2019 09:11