подписывать сборки строгим именем, хорошо, но что, если какая-либо сторонняя DLL не подписана? - PullRequest
11 голосов
/ 22 ноября 2010

Я понимаю основную идею подписывания сборок, но у меня есть проблема при использовании Telerik или сторонних DLL.У меня есть .exe, который использует 2 моих собственных .DLL, библиотеки DLL, в свою очередь, используют библиотеки DLL и Telerik.

Я дал всем своим проектам строгое имя .snk, но при компиляцииКомпилятор объясняет, что библиотеки DLL корпоративной библиотеки, например, не подписаны, что имеет смысл.

Я не хочу отключать проверку с помощью команды te sn.exe -Vr или даже задерживать подписывание моих проектов,Но тогда как это будет работать?Я благодарен за любое понимание.

Ответы [ 2 ]

5 голосов
/ 28 января 2014

Это неудобно, но не ракетостроение подписывать / оставлять в отставке сторонние сборки. Предполагая, что вы хотите подписать неподписанную dll, такую ​​как System.ComponentModel.Composition.dll, с ключом default.snk:

откройте командную строку VS и перейдите в вашу папку с неподписанными dll

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

В каждом применимом проекте VS удалите и добавьте обратно ссылку на подписанную сборку System.ComponentModel.Composition.dll

1 голос
/ 22 ноября 2010

Да, вполне возможно.
Вот шаги.

...