Ich erhalte zeitweise den folgenden Fehler:
Konnte die Datei 'com.mycompany.myapp' oder eine ihrer Abhängigkeiten nicht laden. Das Manifest der lokalisierten Assembly stimmt nicht mit dem überein Baugruppenreferenz.
Ich habe eine Bibliothek von Ajax-Benutzersteuerelementen, die ich erstellt und in eine DLL kompiliert habe. Dieses Projekt enthält Verweise auf Projekt A (com.mycompany.myapp). Meine Hauptwebanwendung verweist auf diese DLL und verweist außerdem auf Projekt A. Dieser Fehler tritt gelegentlich auf, wenn ich versuche, meine Webanwendung neu zu erstellen. Es scheint, als ob die Verweise auf Projekt A nicht mehr synchron zwischen der DLL und der Webanwendung sind.
Dies kann nur behoben werden, indem Sie die DLL neu erstellen, den Verweis auf die DLL aus der Webanwendung entfernen, die Referenz erneut hinzufügen und dann die Webanwendung neu erstellen. Kann jemand erklären, warum dies geschieht und wie man diesen Fehler verhindern kann?
Ich suche nach einer Lösung, mit der ich dieses Problem lösen kann, damit ich diese DLL verteilen kann, ohne befürchten zu müssen, dass sie zeitweise neu erstellt und bereitgestellt werden muss.
Wenn Sie alle Ihre Projekte in derselben Lösung haben, müssen Sie sicherstellen, dass es sich um Projektverweise und nicht um Dateiverweise handelt. Sie können dies überprüfen, indem Sie mit der rechten Maustaste auf das Projekt klicken und zu properties = & gt; Verweise.
In Ihrer Referenzliste sehen Sie eine Spalte mit dem Namen "copy local". Wenn dies auf "false" gesetzt ist, bedeutet dies, dass Sie auf eine Datei anstatt auf ein Projekt verweisen (wodurch die DLL nach dem Erstellen nicht aktualisiert wird). Um es zu lösen, entfernen Sie die Referenz und fügen Sie sie erneut hinzu (stellen Sie sicher, dass Sie auf Ihre Lösung verweisen und nicht auf die DLL auf Ihrer Festplatte verweisen).
Wenn Sie nicht alle Projekte in derselben Lösung haben, ist dies normal. Angenommen, Ihre Ajax Controls-Bibliothek befindet sich außerhalb der Lösung.
Die Ausgangssituation wäre etwa so:
Nachdem Sie Ihre Lösung erstellt haben (ohne das Ajax-Projekt darin), haben Sie die folgende Situation:
Wie Sie sehen, benötigt der Compiler plötzlich einen Verweis auf A Version 1 und Version 2, das ist also unmöglich und gibt Ihnen einen Fehler. Dies würde auch erklären, warum es funktioniert, wenn Sie eine Neuerstellung durchführen und die DLL löschen und erneut hinzufügen.
Die Lösung wäre, das Ajax-Projekt zu Ihrer Lösung hinzuzufügen und jedes Mal neu zu erstellen.
Überprüfen Sie die Verweise auf Projekt A (für beide Projekte) und stellen Sie sicher, dass sie auf dieselbe Assembly und / oder dasselbe Projekt verweisen. (Häufigste Ursache) Die Manifestdefinition der gefundenen Assembly mit dem Namen xxx.dll stimmt nicht mit der Assemblierungsreferenz
Überprüfen Sie, ob Ihre Assembly "com.mycompany.myapp" kein AssemblyVersion-Attribut in der Datei AssemblyInfo.cs hat oder dass die Version keine Sternchen hat, die zur automatischen Generierung von Versionen führen.
Nur ein Gedanke.
Tags und Links visual-studio-2010 asp.net vb.net user-controls