Why Do I Get a Build Error When I Try to Build the Sources?

Most likely the cause is that the build cannot find the AjaxMin.snk file. This is the cryptographic key-pair used to digitally sign the binaries and generate a strong assembly name. In the past, this file was included in the public Source Control source tree. However, doing so is a security hole – anyone can grab that key, make whatever nefarious changes they wish to the binaries, then resign the file with the regular project key, and no one would be the wiser.

We have now removed the old key-pair file from the sources and have started using a new key-pair file to sign our binaries.

This means, however, that if you download the sources and press F5, the build will fail because it can’t find that file that we no longer check into source control. The solution is simple, however: generate your own key-pair named AjaxMin.snk, copy it to the project folder, and the solution will now build just fine using your own key-pair to sign it.

To generate your own key-pair, open a command-prompt and type:

sn.exe –k AjaxMin.snk

and copy the resulting AjaxMin.snk file to the AjaxMin project folder (the same folder that contains the AjaxMin.csproj file). In order to assure that the sn.exe tool is on your path, use the “Visual Studio Command Prompt” shortcut on your Start Menu. If you can’t find that, simply do a search for sn.exe on your machine and use that path.

Those of you who build your own binaries from the provided source code may think this is a bit of a pain in the keister, but I assure you, it’s in everyone’s best interest that the private keys used to build these binaries are not publicly available.

Unable to Load Setup Project

Another issue is the Setup project. As part of the migration of the sources to Visual Studio 2012, the old setup project type used by AjaxMinSetup project is no longer supported. Instead, a new Setup project was created using the WiX ToolSet. If you wish to build the new Setup project, please install the WiX toolset, version 3.7 or higher.

Last edited Jan 14, 2013 at 6:08 PM by ronlo, version 5

Comments

No comments yet.