2017-10-11 40 views
2

我已經使用這個網站https://support.microsoft.com/en-in/help/828736/how-to-call-a-managed-dll-from-native-visual-c-code-in-visual-studio-n如何調用來自本機的Visual C託管DLL在Visual Studio.NET或Visual Studio ++代碼2005

Problem-

我已創建MyInterop.tlb文件,包括項目。 我已創建窗口安裝程序設置當我安裝設置不同的機器上

CoInitialize(NULL); 
IWindowPtr pDotNetCOMPtr; 

HRESULT hRes = 
    pDotNetCOMPtr.CreateInstance(__uuidof(WindowClass)); 

flag=pDotNetCOMPtr->show(); 

CoUninitialize(); 

類沒有註冊問題發生

回答

1

COM對象需要註冊。您可以通過選中Visual Studio項目中的「註冊COM互操作」來完成此操作(如圖所示),或者您必須在安裝程序運行中註冊它。確保你有像你發送的示例鏈接頭像

RegAsm.exe ManagedDLL.dll /tlb:ManagedDLL.tlb /codebase 

COM對象應該也有一個GUID。這允許註冊表正確處理它。

在以前的工作中,這些是我包括的標題。每個GUID是每個正在註冊的對象:

[ComVisible(true)] 
    [ClassInterface(ClassInterfaceType.None)] 
    [Guid("7F2DA4BD-12BF-4EE7-80E7-F85D1F15926C")] 

Register For COM Interop

不同
相關問題