2012-12-22 11 views
7

Dies ist ein CLR-Projekt. Ich importiere zwei DLL-Dateien mit dem gleichen Namen, quizz.dll (ich benenne die alte Version als legacyquizz.dll) und ich schließe die neuere Version als quizz.dll in ein Legacy-Konverter-Testprojekt ein. (Das getestete Legacy-Konverterprojekt importiert nur das alte quizz.dll)."Assembly Same Simple Name wurde bereits importiert" Fehler

Dies ist der Fehler, den ich bekomme. . .

Anordnung mit dem gleichen einfachen Namen ‚Quizz, Version = 2.0.0.1, Culture = neutral, PublicKeyToken = hat null bereits importiert.

Versuchen Sie, eine der Referenzen zu entfernen oder unter Seite an Seite zu signieren. c: \. . . \ Quizz.dll

Der Pfad, auf den es verweist, ist das Ziel der neueren Version von quizz.dll.

ich einen externen Alias ​​auf der legacyquizz.dll Datei bin mit:

extern alias legacy; 

Was ist ein "einfacher Name" in diesem Zusammenhang?

+0

Versuchen Sie, den Assemblynamen aus den Projekteigenschaften eines der Quizz-Projekte umzubenennen. – daryal

+0

Ich kann nicht, dass es ausgegraut ist. – rbtLong

Antwort

4

Sie können den einfachen Namen von Projekteigenschaften zu öffnen und Auswahl von Montagehinweise:

enter image description here

die Montage Sie Registerkarte Signierung müssen sich anmelden, auszuwählen und zu erstellen oder Signaturschlüssel auswählen:

enter image description here

3

Sie haben zwei Assemblys mit demselben Namen (nicht Dateiname, Assemblyname). Hierfür gibt es zwei Lösungen:

  1. Benennen Sie eine der Assemblys aus den Projekteigenschaften um und kompilieren Sie sie erneut.
  2. Richten Sie Strong-Name Signing auf der Baugruppe ein, um die Koexistenz von zwei separaten Versionen derselben Baugruppe zu ermöglichen.
-2

Auch ich scheint dieses Problem in meinem Projekt. Ich hatte meinen DLL-Pfad in einen anderen Ordner geändert und den Referenzpfad ebenfalls geändert (Abhängigkeits-Layer). Es wird klappen. Es findet keine Duplizierung statt.

Verwandte Themen