Visual Studio 2010 - Cannot Register Assembly

CosmicComputer picture CosmicComputer · May 27, 2014 · Viewed 16.7k times · Source

I am running Visual Studio 2010 on a Windows 7 VM and trying to build a fairly large solution. When I try to do so, I get the error:

Cannot register assembly "C:\Development\ProjectName\Source\bin\Debug\AssemblyName.dll" - access denied.  Please make sure you're running the application as administrator.  Access is denied.  (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))

I have taken the following steps:

  1. Confirmed that I am in fact running Visual Studio 2010 as administrator.
  2. Restarted the VM.
  3. Confirmed that the assembly does exist exactly where Visual Studio is looking for it.
  4. Confirmed that administrator has full control over the relevant file.
  5. Cleaned and rebuilt the project (multiple times).

I have also found that building the project which creates AssemblyName.dll, manually registering it with RegAsm, and then building the project which requires AssemblyName.dll does not result in an error, but this is not a desirable workaround as it requires manual control. Can anyone give me some advice on how to solve this problem?

Many thanks.

Answer

J. Thompson picture J. Thompson · Oct 11, 2016

This particular issue happens when you are building an assembly project which has the 'Register for COM interop' checked under the Compile tab of the project properties. As Stephane said, you must right click -> Run as Administrator in order for it to register automatically.

If you already have the compiled assembly from a different machine, you can alternatively register it manually and reference the compiled assembly with the project to by-pass the issue.