Hallo,
ich habe die DLL FTD2XX_NET (von der FTDI Seite) in mein Projekt eingebunden, um die Liste der Nodes abfragen zu können.
Leider bekomme ich obige Fehlermeldung. Da es aber nicht meine eigene DLL ist, kann ich ihr keinen starken Namen zuweisen.
Fehlermeldung:
"Die Assembly FTD2XX_NET, auf die verwiesen wird, hat keinen starken Namen"
Was kann ich tun?
Meine Recherche im WWW hat nichts ergeben, was wirklich hilft.
Danke
Christel
Titel geändert, Fehlermeldung in Beitrag eingefügt
Es ist schlimm, eine Ausnahme zu sein, aber noch schlimmer, keine zu sein.
Nichts.
Eine Strong-Named Assembly kann nur auf DLLs referenzieren, die ebenfalls ein Strong Name Signing haben.
Ansonsten wäre der Sinn von Strong Names ja für die Katz.
Brauchst Du eine Referenz auf eine Assembly, die nicht signiert ist, dann musst Du für Dein Projekt signing deaktivieren.
Steht übrigens auch in der MSDN (oder erster Treffer bei der Suche nach "c# reference assembly without strong name" Reference to assembly without strong name.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Danke, OK, soweit ist das schon klar.
Es ist aber das Problem, dass die DLL, in der ich auf die FTDI DLL verweise, selbst einen starken Namen haben muss, weil sie schlussendlich in einem signierten Assembly verwendet wird.
Heißt das jetzt, dass ich die FTDI DLL nicht verwenden kann? Ärgerlich!
Danke,
Christel
Es ist schlimm, eine Ausnahme zu sein, aber noch schlimmer, keine zu sein.
http://www.blackwasp.co.uk/ILMergeSigned.aspx (Abschnitt "Signing Without Merging")
http://www.microsoft.com/en-us/download/details.aspx?id=17630 (Download ILMerge)
Danke, schau ich mir an,
Christel
Es ist schlimm, eine Ausnahme zu sein, aber noch schlimmer, keine zu sein.
Heißt das jetzt, dass ich die FTDI DLL nicht verwenden kann? Ärgerlich!
Prinzipiell heisst es das.
Ich glaube nicht, dass die Lizenzbedingungen euch das einbetten der fremden DLL via ILmerge erlaubt.
Das wäre ein Zufall (und sehr sehr selten).
Wie gesagt: das ist eine Sicherheitsmaßnahme und Du willst sie aushebeln.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Die Datei muss nicht eingebettet werden. Diese kann einfach nachträglich signiert werden.
Ok. Drück ich mich genauer aus:
Du darfst eine Dritthersteller Assembly i.d.R. nicht einbetten oder verändern.
Nachträglichen Signieren ist zweiteres.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Das es um Hardware-Treiber geht, könnte es anders sein, da ja die Hardware verkauft werden soll.
Ich würde einfach mal nachfragen.