[英]Why my C# program doesn't find the C++/CLI DLL at runtime which is referenced in the project
[英]C++/CLI DLL on C# doesn't compile
我為一些本機c ++函數編寫了一個包裝DLL,並在c ++ / CLI中對其進行了編譯,然后添加了對C#項目的引用,函數在其中進行了指示,但是當我嘗試編譯項目時,出現此錯誤:
附加信息:無法加載文件或程序集“ lib,版本= 1.0.3742.39593,Culture = neutral,PublicKeyToken = null”或其依賴項之一。 試圖加載格式錯誤的程序。
有什么問題 ?
64位與32位不兼容是該錯誤的最常見原因。
在C#項目的“ 項目設置”頁面中,您的Platform target
將設置為Any CPU
。 這意味着在64位系統上,程序將在64位進程中運行。 然后它將無法加載以32位為目標的DLL(本機DLL無法切換以適應該過程。)
因此,您需要將其設置為x86。 在VS2010中,新項目的默認值為x86。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.