= Calling Managed Code (.NET C#) from Unmanaged Code (Any language) =
== Creating a COM Library ==
* [[swdev:dotnet:Creating COM Library|Create COM library (managed code)]].
== Registering a COM Library ==
* Assembly to be deployed to GAC:
C:\>CD C:\MyLibProj\
C:\>"%WinDir%\Microsoft.NET\Framework64\v4.0.30319\regasm.exe" MyLib.dll
C:\>"%ProgramFiles(x86)%\Microsoft SDKs\Windows\v7.0A\Bin\gacinstall.exe" /i MyLib
* Assembly to be deployed in application's directory (not in GAC):
C:\>CD C:\MyLibProj\
C:\>"%WinDir%\Microsoft.NET\Framework64\v4.0.30319\regasm.exe" /CodeBase MyLib.dll
* To create Type Library from Assembly:
C:\>CD C:\MyLibProj\
C:\>"%WinDir%\Microsoft.NET\Framework64\v4.0.30319\regasm.exe" MyLib.dll /tlb:MyLib.tlb
== Calling a Library from Unmanaged Code ==
* Create calls (unmanaged code) to library.