Ich habe ein Setup-Projekt in .NET. Wenn ich das Projekt und die anderen Projekte in Subversion speichere, wird das Setup-Projekt nicht mehr kompiliert. Ich erhalte die Fehlermeldung "Abhängigkeiten des Projekts können nicht aktualisiert werden."
winforms
deployment
dependencies
setup-project
Jason N. Gaylord
quelle
quelle
VS2010 zu schließen und dann wieder zu öffnen hat bei mir immer funktioniert :)
quelle
Ich hatte das gleiche Problem, aber keine der genannten Vorsätze schien für mich zu funktionieren. Das Wiederherstellen des Setup-Projekts würde funktionieren, ist jedoch ein Problem, da wir die Projektergebnisse von mehr als 30 Projekten einbeziehen.
Was ich als funktionierend empfand, ist ein sehr ähnlicher Ansatz wie @Marc.
In allen Fällen hatte ich mehrere Verweise auf dieselbe DLL (nicht sicher, wie dies passiert ist)
Beispiel für eine korrekte Referenz:
Beispiel für eine falsche Referenz:
Ich habe auch die gleiche Warnung "Zwei oder mehr Objekte haben den gleichen Zielspeicherort ('[targetdir] \ MyAssembly.dll')" erhalten, die @Marc erhalten hat ... aber das Setup-Projekt wird kompiliert und läuft einwandfrei.
quelle
File
Assembly-Referenzen gelöscht . Hat perfekt funktioniert.Der richtige Link für Hotfix für VS2010 lautet:
http://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=30681
Funktioniert gut nach der Installation
quelle
Ich hatte das ähnliche Problem und fand eine Lösung in dieser sehr langen und alten Diskussion über MSDN .
Als der Benutzer 'Jeff Hunsaker' am Donnerstag, 26. August 2010, 17:51 Uhr antwortete (direkter Link nicht möglich):
Ich habe festgestellt, welche Abhängigkeiten von Visual Studio gemeldet wurden, und ein Skript geschrieben, um sie zu beheben, falls dies erforderlich ist.
Beachten Sie, dass ich jetzt eine Warnung bekomme: "Zwei oder mehr Objekte haben denselben Zielspeicherort ('[targetdir] \ MyAssembly.dll'). Aber damit kann ich leben.
quelle
Dies löste das gleiche Problem für mich: Ich habe die in der Fehlermeldung genannten Assemblys zum GAC hinzugefügt. Als ich das Projekt neu kompilierte, wurden die DLLs im Projektmappen-Explorer unter "Erkannte Abhängigkeiten" angezeigt, und es wurde der gleiche Fehler angezeigt. Dann habe ich die DLLs ausgeschlossen (Rechtsklick und Ausschluss auswählen) und das Projekt schließlich ok kompiliert.
quelle
Das Problem kann durch verwaiste Dateien im Abschnitt "Bereitstellbar" -> "Datei" der .vdproj-Datei verursacht werden. Sie können dies überprüfen, indem Sie alle Dateien aus dem Setup-Projekt in Visual Studio entfernen (erstellen Sie zuerst eine Sicherung). Wenn Sie die .vdproj-Datei mit einem Texteditor öffnen und weiterhin Einträge im Abschnitt "Datei" sehen, tritt dieses Problem auf. Sie können die Schlüssel dieser Dateien notieren und aus der ursprünglichen .vdproj-Datei entfernen, und es sollte wieder funktionieren.
Alternativ können Sie dieses Schnellkorrekturprogramm kompilieren (nur mit Visual Studio 2010 getestet):
quelle
Ich habe es geschafft, dieses Problem zu umgehen, indem ich das Installationsprojekt aus der Lösung entfernt und das vorhandene Projekt wieder hinzugefügt habe.
quelle
Das Neustarten von VS2010 hat bei mir nicht funktioniert, aber ich habe es geschafft, alles zum Laufen zu bringen, indem ich eine "saubere Lösung" und dann eine "Build-Lösung" durchgeführt habe. Der Versuch, die Lösung nach dem Reinigen neu zu erstellen, funktionierte jedoch nicht. Dann könnte ich die Lösung wie gewohnt mit F5 ausführen.
quelle
Wenn ich diesen Fehler erhalte, stelle ich fest, dass mein VS2010-Bereitstellungsprojekt (.vdproj) "beschädigt" ist. Insbesondere haben Elemente im Abschnitt DATEI der VDPROJ-Datei GUIDs, die in der HIERARCHIE fehlen Abschnitt HIERARCHY der VDPROJ-Datei fehlen. Dies wird nachstehend ausführlich beschrieben.
1) VS2010-Bereitstellungsprojekte umfassen die folgenden Abschnitte:
2) Der Abschnitt HIERARCHY enthält GUIDs für jedes Element (z. B. Datei), das dem Bereitstellungsprojekt hinzugefügt wurde. Darüber hinaus wird jede dem Projekt hinzugefügte Datei als Element im Abschnitt DEPLOYABLE> FILE angezeigt . Das folgende Beispiel zeigt eine normale Konfiguration für die Datei msimg32.dll . Beachten Sie die passende GUID (dh _1C15DB39774F7E79C84F1CC87ECFD60A) in den Abschnitten HIERARCHY und FILE .
3) Meine VS2010-Bereitstellungsprojekte können auf zwei Arten beschädigt werden:
a) Ein Element im Abschnitt DATEI wird dupliziert, und das duplizierte Element erhält eine GUID, die nicht im Abschnitt HIERARCHIE angezeigt wird.
b) Die mit einem Element im Abschnitt DATEI verknüpfte GUID wurde aus dem Abschnitt HIERARCHIE entfernt (dh das Element im Abschnitt DATEI ist verwaist).
3a) Beispiel für das erste Problem - dupliziertes Element im Abschnitt DATEI :
In diesem Beispiel enthält die Datei msimg32.dll zwei Einträge im Abschnitt FILE . Der erste (dh korrekte) Eintrag hat eine übereinstimmende GUID (dh _1C15DB39774F7E79C84F1CC87ECFD60A) im Abschnitt HIERARCHY , aber die GUID für den zweiten (dh Fehler) Eintrag (dh 2DDC4FA12BFD46DEAED0053D23331348) wird im Abschnitt HIERARCH nicht angezeigt .
3b) Beispiel für ein zweites Problem - verwaistes Element im Abschnitt DATEI :
In diesem Beispiel hat die Datei msimg32.dll einen Eintrag im Abschnitt FILE . Die diesem Eintrag zugeordnete GUID (z. B. A515046ADA6244F2A260E67625E4398F) enthält jedoch keinen passenden Eintrag im Abschnitt HIERARCHY (dh er fehlt) .
4) Lösung: Für beide oben dargestellten Probleme besteht die Lösung darin, das verwaiste Element im Abschnitt DATEI zu löschen .
Das folgende Beispiel zeigt, wie der Abschnitt FILE in Punkt 3a oben angezeigt wird , nachdem der zweite Eintrag für msimg32.dll gelöscht wurde.
5) Ich habe festgestellt, dass die beschädigten Einträge im VDPROJ nur für Folgendes aufgetreten sind:
quelle
Hier sind einige Lösungen, die funktionieren:
1) Das Entfernen einer der Problem-DLLs aus dem Setup-Projekt und das erneute Hinzufügen dieser DLLs lösten das Problem für mich. Dies funktionierte auch dann, wenn es viele DLLs mit dem Problem gab. Das Entfernen und Hinzufügen von nur einem von ihnen löste VS2010 aus, um sie alle irgendwie zu reparieren.
2) Erstellen Sie die Lösung neu und versuchen Sie dann erneut, die Abhängigkeiten zu aktualisieren. Die Neuerstellung hilft Visual Studio dabei, die Abhängigkeiten zu ermitteln, da es möglicherweise schwierig ist, die Abhängigkeiten zu finden, ohne dass etwas erstellt wurde.
3) Starten Sie Visual Studio neu
Der oben verlinkte VS2010-Hotfix hat bei mir nicht funktioniert. Manchmal wird das Problem durch einen Neustart von VS2010 behoben. Wenn dies nicht funktioniert, funktioniert das oben Genannte.
quelle
Dies kann auch passieren, wenn Sie versuchen zu debuggen und den Freigabemodus ausgewählt haben. Habe mich gerade :(
quelle
Ich möchte hinzufügen, dass beim Bearbeiten des Bereitstellungsprojekts von meinem Computer anstelle des dedizierten Compiler-Computers der gleiche Fehler auftritt.
Als ich das letzte Mal diesen Fehler bekam, musste ich die letzten Änderungen rückgängig machen und sie vom dedizierten Compiler-Computer aus erneut ausführen.
quelle