14

I understand the basic idea behind signing assemblies but have a problem when using Telerik or 2rd party DLLs. I have an .exe that uses 2 of my own .DLLs, the DLLs in turn make use of the Enterprise library DLLs and Telerik DLLs.

I gave all my projects a strong name .snk, but when compiling the compiler explains that the enterprise library DLLs, for example, aren't signed, which makes sense.

I don't want to turn off the verification with te sn.exe -Vr command or even delay sign my projects. But then how is this going to work? I'm grateful for any insight.

John
  • 3,591
  • 8
  • 44
  • 72

2 Answers2

8

It's inconvenient, but not rocket science to sign/resign third party assemblies. Assuming you want to sign an unsigned dll like System.ComponentModel.Composition.dll with the default.snk key:

open the VS command prompt and cd to your folder with the unsigned dll(s)

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

In each applicable VS project, remove and add back the reference to your signed assembly System.ComponentModel.Composition.dll

Scott Stafford
  • 43,764
  • 28
  • 129
  • 177
dmihailescu
  • 1,625
  • 17
  • 15
-2

Yes, quite possible.
Here are the steps.

OJ.
  • 28,944
  • 5
  • 56
  • 71
VJOY
  • 3,752
  • 12
  • 57
  • 90
  • 8
    page not found. – Sameera R. Jul 11 '16 at 08:50
  • 1
    -1 for linking to a resource instead of answering the question. Luckily, [there's a cached version of that page at archive.org](http://web.archive.org/web/20160604075757/http://buffered.io/posts/net-fu-signing-an-unsigned-assembly-without-delay-signing/). – MrLore Apr 23 '18 at 13:06