c++ clr編譯dll在c#調用時出現“試圖加載不正確的格式”“找不到dll”錯誤的解決


用depends發現缺了一堆API-MS-WIN什么的dll,網上查找是因為少了VC++2010,VC++2015等一系列,裝好后仍然不行,原來這種錯誤並不是該原因導致的,也並不缺少那些dll(depends是靜態的尋找依賴的dll,缺少的dll在運行中並不一定都需要),是因為c++ clr的.netFramwork版本與c#的沒對應上所致。

解決辦法:

c++ clr編譯的dll需要和你c#的.netFramwork版本對應上。

但是vs2013 c++ clr 默認4.0,怎么改 .net 4.5?如下:

  1. 在菜單欄上,依次選擇“文件”、“打開”、“文件”。 “打開文件”對話框中,導航到項目文件夾,然后打開項目文件 (.vcxproj)。

  2. 在項目文件中,找到目標 Framework 版本的條目。 例如,如果你的項目設計為使用 .NET Framework 4.5,請在 <Project> 元素的 <PropertyGroup Label="Globals">元素中找到 <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>。 如果 <TargetFrameworkVersion> 元素不存在,你的項目不使用 .NET Framework,也無需進行更改。

  3. 將值更改為需要的框架版本。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM