I started experiencing a Cryptographic failure while signing assembly: Unknown error (8013141c) after moving my Visual Studio 2005 solutions to Visual Studio 2008. The reason: I'm using strongly named assemblies, and I was running Visual Studio 2005 as Administrator. Visual Studio 2008 does not require me to run as Administrator, so I use it with my normal user account.
Now unfortunately, this normal user account doesn't have the appropriate permissions needed to access the folder that contains the cryptographic key containers. Here's how to fix this (on Windows Vista):
- Open C:\ProgramData\Microsoft\Crypto\RSA in Windows Explorer (ProgramData is a hidden folder)
- Right-click on MachineKeys and click Properties
- Click on the Security tab
- Click on the Advanced button
- Click on Edit (you'll have to elevate or provide administrator credentials here)
- Click on Add
- Enter Debugger Users in the Enter to object name to select field
- Click Check Names
- Click OK
- Allow Full Control
- Click OK
- A couple of error messages appear, click to close them
- Click OK
- You're good to go
You should probably investigate whether you can get away with less than Full Control, though.