用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?如下:
-
在菜單欄上,依次選擇“文件”、“打開”、“文件”。 在“打開文件”對話框中,導航到項目文件夾,然后打開項目文件 (.vcxproj)。
-
在項目文件中,找到目標 Framework 版本的條目。 例如,如果你的項目設計為使用 .NET Framework 4.5,請在 <Project> 元素的 <PropertyGroup Label="Globals">元素中找到 <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>。 如果 <TargetFrameworkVersion> 元素不存在,你的項目不使用 .NET Framework,也無需進行更改。
-
將值更改為需要的框架版本。