How do I update a Strongly-Named DLL within an ASP.NET website to use a newer version of delay signed DLL?

1.1k views Asked by At

In debugging the LinkedInToolkit, I downloaded the DotNetOpenAuth source from git. Now that I've added the reference I'm getting the following error when compiling the prebuilt websites the come from LinkedInToolkit

Could not load file or assembly DotNetOpenAuth version 3.4.7.11039. Strong name signature could not be modified....

Considering that the DotNetOpenAuth DLL is delay signed, how to I make my website compile and run?

I've searched web.config and references for any mention of a strongly named DLL. Where else would the strong name check be done?

2

There are 2 answers

1
Darin Dimitrov On

You should also search in the references of your project references and so on until you find a DLL which depends on a signed version of the DotNetOpenAuth assembly. Note that this assembly could be dynamically loaded and might not even appear in the list of referenced assemblies. You could also disable strong name checking temporary but make sure you realize the possible consequences of this.

3
Andrew Arnott On

If you're compiling DotNetOpenAuth yourself, you should either turn off delay signing completely, or change the key it is signed with to one that you have the private key to. Don't disable strong name checking -- that's a security risk.

Curious why you have to compile your own DotNetOpenAuth library though.