2011-02-03 87 views
0

我實現了一個成功編譯的C++ dll。該項目包含一個標題和cpp文件。 cpp文件包含多個第三方頭文件(主要是Cplex)。在C#項目中添加C++ dll參考的問題

一旦dll創建: 然後,我試圖引用Visual Studio中的DLL,它沒有工作。 在控制檯應用程序,我用了tlbimp.exe是我遇到的錯誤消息:

<AssemblyFileName.dll> is not a valid type library. 

然後我用的Dependency Walker,它顯示錯誤消息:

"MSVCR90.DLL was not found". 

我肯定失蹤如果你能指出解決方案可能是什麼,會很感激。

+0

關於MSVCR90.dll - 我認爲需要與您的項目的.exe相同的目錄中,但我不確定這是否與您的第一條錯誤消息有關。我GOOGLE了它,並設法下載它。 – BeeBand 2011-02-03 09:46:56

+1

@BeeBand - 如果安裝了可再發行組件,我不認爲MSVCR90.dll需要存在於相同的目錄中。因爲可再發行組件會將dll複製到system32目錄中。已安裝 – programmer 2011-02-03 09:49:46

回答

0

這裏有兩個問題,一個是,並非所有的本機DLL也類型庫,只有COM的。

第二個錯誤更像是您沒有Visual C++運行時可用,您是否正在嘗試使用它的同一個盒子上構建C++ dll?

對於非COMN DLL,而不是導入類型庫,您可以使用DLLImport方法。