我最近在C++/CLI中編寫了一個小型本機C++包裝器。它是一個簡單的程序。我能夠正確編譯它並能夠在我的C#項目中添加dll refeernce,而不會出現任何錯誤。我也可以從這個CPP/CLI dll創建對象,並在編譯時訪問這些函數,沒有任何錯誤。爲什麼我的C#程序在運行時找不到在項目中引用的C++/CLI DLL
現在,當我運行該程序時,第一個引用此dll對象的函數調用會引發異常。例外情況如下:
無法加載文件或程序集「ProtobufWrapper,Version = 1.0.4381.26401,Culture = neutral,PublicKeyToken = null」或其某個依賴關係。該系統找不到指定的文件。
我不知道我的情況有什麼問題。
你在GAC上看過它運行的主機嗎? – 2011-12-30 07:01:45
您的C++/CLI項目是否引用任何其他程序集? – 2011-12-30 07:03:00
@ M.Babcock:如果發現DLL但未能加載,我認爲錯誤信息會略有不同。加載失敗的常見原因可能包括缺少依賴關係和錯誤的體系結構(即x64進程中的x86 DLL)。但在這種情況下,它可能不在庫搜索路徑中。 – 2011-12-30 07:09:28