簡體   English   中英

64位進程中的AnyCPU C#DLL無法引用64位C ++ DLL(提供錯誤:無法加載文件或程序集)

[英]AnyCPU C# DLL in 64bit process is unable to refer 64 bit C++ DLL(Giving error: Could not load file or assembly)

當我提供64位C ++ dll作為對C#項目的引用時,它將生成AnyCPU C#dll。 我能夠生成C#dll,但是當我啟動應用程序時出現錯誤,

類型:System.BadImageFormatException,mscorlib,版本= 4.0.0.0,文化=中性,PublicKeyToken = xxxxxxxx消息:無法加載文件或程序集“ MyDLLName,版本= 1.0.0.0,文化=中性,PublicKeyToken =空”或其中之一依賴。 試圖加載格式錯誤的程序。

由於C#dll無法獲取C ++ dll。 那么,如何解決此錯誤?

您正在嘗試從32位進程中加載​​64位庫。 您的C#dll可以是AnyCPU,但是執行程序必須是64位才能加載C ++ dll。 在項目設置中,檢查是否設置了“ prefer 32 bit”標志,然后取消選中它-或只是構建一個64位可執行文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM