[英]Unable to register my DLL using regsvr32, but via IDE works
.NET程序集不是本機DLL。 您只能在支持自我注冊的本機DLL上使用regsvr32
。
要注冊.NET程序集,可以改用regasm 。 您可以在此路徑或類似路徑中找到它:
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe"
但是,在安裝程序中,建議注冊COM服務器的方法是安裝所需的注冊表項,而不是使用regsvr32或regasm。 有關SelfReg表的Windows Installer文檔列出了這樣做的一些原因。
Regasm.exe用於圍繞.NET程序集創建COM可調用包裝(CCW)。 .NET托管程序集(EXE,DLL)不同於COM DLL(后者是非托管的,即它們直接與OS交互)。 因此,要注冊非托管DLL,請使用regsvr32.exe。
但是,如果您具有托管的.NET程序集,並且希望COM組件像使用COM程序集一樣使用它,則需要使用regasm.exe。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.