VS 2010, win Server 2003, .Net 3.5 Lösung, die von .Net 1.1 migriert wurden
Alle Projekte in Lösung sind mit Vorzeichen versehen. Die Lösung kann erfolgreich für den Debug-Modus erstellt werden, ist jedoch immer mit dem folgenden Fehler fehlgeschlagen. SGEN: Fehler: Konnte Datei oder Assembly nicht laden 'AssemblingX , Version = 1.0.5000.0, Culture = neutral, PublicKeyToken = xxxxxxxx' oder eine seiner Abhängigkeiten. Starke Namensvalidierung fehlgeschlagen. (Ausnahme von HRESULT: 0x8013141A)
Das AssemblingX ist das Projekt, das ich erstellen möchte. Alle referenzierten DLLs dieses Projekts werden im lokalen Ordner gespeichert und bereits signiert. Wenn ich die Eigenschaft des Projekts AssemblingX ändere, um sie zu signieren, kann die Lösung für die Freigabe erfolgreich erstellt werden.
Ich habe eine sgen.exe.config erstellt, um "loadFromRemoteSources" zu aktivieren, indem ich den Anweisungen auf Ссылка
Aber nichts hat sich geändert. Irgendwelche Ideen?
Danke
Dieses Problem hängt mit der starken Namensvalidierung zusammen. Öffnen Sie Ihre AssemblyX in Ildasm.exe (C: \ Programme (x86) \ Microsoft SDKs \ Windows \ v7.0A \ bin). Beachte sein PublicKeyToken
, sagen wir pkt123
für ein Beispiel. Öffnen Sie jetzt die VS-Eingabeaufforderung im Administratormodus, und führen Sie den Befehl "sn.exe" aus. Wie:
Bauen Sie Ihre Lösung wieder auf und alles sollte jetzt in Ordnung sein.
Aber wenn nicht und Sie erhalten denselben Fehler jetzt auch, dann müssen Sie eine andere Version von sn.exe ausführen. Um dies zu finden, wechseln Sie zur Visual Studio-Eingabeaufforderung.
%Vor%Es kann 5-10 Sekunden dauern und sollte eine Liste von sn.exe Dateien geben. Gehe zum Pfad und führe die sn.exe aus, die benötigt wird oder dir gehört, wie oben gezeigt. Wenn Sie nicht sicher sind, welche ausgeführt werden soll, führen Sie alle sn.exe aus. Das sollte und muss Ihr Problem lösen. Wenn nicht, lassen Sie es mich wissen und lassen Sie mich den RnD erneut vortragen.
Da ich nicht in der Lage bin, die einzige Antwort zu diesem Thema zu kommentieren, wollte ich sicherstellen, dass andere Benutzer, die auf diese Antwort kamen, nicht die gleichen Fehler machen wie andere. Laut der MSDN-Dokumentation für das Dienstprogramm für starke Benennungen kann die Verwendung des Vr-Schalters (Signature Skipping) dazu führen, dass bösartige Assemblys geladen werden und nur in DEVELOPMENT, nicht in Deployment, verwendet werden sollten.
Öffnen Sie cmd.
%Vor%Ausführen :
sn –Vr **AssemblingX** name (without dll extension), **PublicKeyToken**
(der Code)
Erstellen Sie die Lösung neu. Und es sollte gelöst werden.
Tags und Links visual-studio-2010 msbuild-4.0 sgen.exe