Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / Languages / C++/CLI

How to sign C++/CLI assemblies with a strong name

5.00/5 (11 votes)
20 Apr 2009CPOL 68.6K  
Learn how to sign C++/CLI assemblies with a strong name.

Introduction

If your application is signed with a strong name, Visual Studio will require you to sign every assembly you reference. Now, even if you are a .NET only developer, it happens sometimes that you have to deal with some kind of interop with C++/CLI DLLs. If both situations happen, you will find yourself in the need to sign a C++ assembly with a strong name.

To do so, you have to specify the key file you will use, at: Project-> Properties-> Configuration Properties-> Linker-> Advanced-> Key File. Something like this:

image

Don't try to sign the assembly with a .Pfx file. It won't work. To do so, you need a .SNK file (Strong Name Key). You can generate one with the SN.EXE tool, using:

sn.exe –k [directory]\[filename].snk

Where to find SN.EXE?

In the Microsoft .NET Framework SDK (usually c:\program files\microsoft .net\sdk\bin, or something similar). You can download the SDK from here.

Note: In order to install the SDK, you will also need the .NET Framework 1.1 installed. As it's a bit old, many people don't have it in their machines.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)