2010-11-22 20 views
10

Rozumiem podstawową zasadę związaną z podpisywaniem zestawów, ale mam problem z korzystaniem z biblioteki Telerik lub biblioteki DLL drugiej strony. Mam. Exe, który używa 2 moich własnych .DLLs, DLLs z kolei wykorzystują biblioteki DLL Enterprise i biblioteki DLL Telerik.podpisywanie złożeń o silnej nazwie, ok, ale co, jeśli jakaś trzecia strona DLL nie jest podpisana?

Wszystkie moje projekty nadałem silne imię .snk, ale podczas kompilowania kompilator wyjaśnia, że ​​biblioteki DLL bibliotek przedsiębiorstwa, na przykład, nie są podpisane, co ma sens.

Nie chcę wyłączać weryfikacji za pomocą polecenia sn.exe -Vr lub nawet opóźnić podpisania moich projektów. Ale jak to będzie działać? Jestem wdzięczny za wszelki wgląd.

Odpowiedz

4

Jest to niewygodne, ale nie rocket science do podpisania/zrezygnować zespoły osób trzecich. Zakładając chcesz podpisać niepodpisany dll jak System.ComponentModel.Composition.dll klawiszem default.snk:

otworzyć wiersz polecenia VS i cd do katalogu z unsigned dll (ów)

 
ildasm /all /out=System.ComponentModel.Composition.il System.ComponentModel.Composition.dll 
ilasm /dll /key=default.snk System.ComponentModel.Composition.il 
del System.ComponentModel.Composition.il 

W każdym stosownym projekcie VS usuń i dodaj z powrotem odwołanie do podpisanego zespołu System.ComponentModel.Composition.dll

+0

Czy zalecany jest zestaw do podpisywania zainstalowany za pomocą pakietu nuget? – Vivekh

+0

Nie zapomnij '/ resource = somename.res' jeśli plik' .res' został utworzony przez 'ildasm' – n0rd