Sergey Kucher Sergey Kucher - 24 days ago 5
C# Question

Why am I getting 'Assembly '*.dll' must be strong signed in order to be marked as a prerequisite.'?

I'm trying to compile my excel addin using C# 4.0, and started to get this problem when building my project in Visual Studio. It's important to tell you that I haven't had this problem before. What could cause this to happen?

Kit Kit
Answer

My guess is that you're not working with strongly named assemblies. I've had this error when two projects reference slightly different versions of the same assembly and a more dependent project references these projects. The resolution in my case was to remove the key and version information from the assembly name in the .csproj files (it didn't matter anyway), and then do a clean build.

In my case, changes between the different assembly versions were compatible with the parts of the solution referring to them. If this is not the case with you, you might have to do some more work to resolve the issue.

NuGet

With NuGet, it's easy to get into this situation if:

  1. You install a package to one project in your solution.
  2. A new version of that package is deployed to the package source.
  3. You install it to another project in the same solution.

This results in two projects in your solution referencing different versions of that package's assemblies. If one of them references the other and is a ClickOnce app, you'll see this problem.

For me the answer was to issue the update-package [package name] command at the Nuget Package Manager Console and it brought everything up to a level playing field, at which point the problem went away.

Comments