2013-12-23 50 views
0

我想添加一個COM DLL使用Visual Studio .NET 2003 ATL COM項目,當我擊瀏覽並選擇DLL我收到以下錯誤內置不能作爲引用添加COM DLL到VS 2012項目

A reference to 'MyCOM.dll' could not be added. Please make sure that the file is accessible, and that it is a valid assembly or COM component. 

但是,當我使用RegSvr32.exe進行註冊並使用「參考」窗口中的COM窗格進行瀏覽並添加它時,它可以正常工作。

如何添加dll而不必註冊?

回答

1

這不太容易,因爲COM總是使用註冊表來查找DLL。在代碼中,您只是使用GUID引用庫,而不是在文件系統中的位置。幸運的是,這不完全正確(再)。有兩種可能性來規避這種情況:

  • 使用免註冊的COM,這要求您向可執行文件添加清單。這包含註冊信息而不是註冊表。 Google免費註冊COM和Manifests。
  • 通常,也可以使用普通方式(使用lib文件)鏈接dll,並使用簡單的新調用創建「COM」對象。但是,這需要你擁有完整的頭文件。而且它不再真正使用COM。
相關問題