簡體   English   中英

如何為64位應用程序注冊.NET DLL

[英]How do I register a .NET DLL for 64-bit application

我有一個使用.NET DLL的64位應用程序,並且從CoCreateInstance()返回一個錯誤,提示“類未注冊”。 (0x80040154)

現在,它作為32位應用程序已經運行了很長時間了,並且調用.NET DLL沒問題,該.NET DLL被注冊為安裝的一部分,或者在我的開發機器上,被注冊為生成的一部分。處理。 最近轉換為64位應用程序已開始導致此錯誤(該應用程序的其余部分現在可以在64位上正常運行,因此那里沒有其他問題)。

該應用程序是非托管的C ++。 DLL是受管理的C#、. NET 2.0,並設置為“任何CPU”。 兩者均內置於VS2010中。 我的安裝包使用Regasm注冊DLL,我想知道是否可能需要64位版本的regasm,但是,我相信我已經在使用它了。 Visual Studio還設置為將DLL注冊為構建過程的一部分,但是即使在調試器中運行64位程序仍找不到該類。

我需要怎么做才能注冊DLL,以便程序的64位版本可以通過CoCreateInstance()找到DLL?

可能您的安裝程序使用了以下方法的32位重載:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe

但是它應該使用64位重載:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\RegAsm.exe

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM