How to register a .NET assembly as COM?

user1428019 picture user1428019 · Jul 4, 2012 · Viewed 62.5k times · Source

I have created a class library for a workflow on a local machine and build that. I moved the complete solution to a Tridion server and tried to register the assembly in the server using regasm.exe tool as below:

C:\User\XYZ\Desktop\>RegAsm \codebase F:\Workflow\WorkflowHandler/bin/debug/WorkflowHandler.dll

I got the following error:

failed to load 'F:\Workflow\WorkflowHandler/bin/debug/WorkflowHandler.dll ' because it is not a valid .NET Assembly.

My server details:

64-bit, Windows Server 2008 R2 Enterprise, and .NET Framework 4 installed.

Answer

Damir Arh picture Damir Arh · Jul 4, 2012

Are you sure you have the right RegAsm in your path since you're calling it by exe name only without specifying the full path? You must call the right version of RegAsm for it to work, i.e 32 or 64-bit version of .NET 4.

Try specifying the full path:

c:\Windows\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe /codebase F:\Workflow\WorkflowHandler\bin\debug\WorkflowHandler.dll

or

c:\Windows\Microsoft.NET\Framework64\v4.0.30319\RegAsm.exe /codebase F:\Workflow\WorkflowHandler\bin\debug\WorkflowHandler.dll

Also I noticed that in the path to your assembly you had some / characters instead of \. Make sure you're putting in the correct path.