問題描述
使用VS2022編譯VS2010開發(fā)的C++/CLI項目,C++/CLI項目是一個類庫項目,單獨編譯這個項目可以編譯成功,但是編譯引用這個類庫的C#項目編譯不通過
在VS2022上看編譯C#項目的輸出,可以看到錯誤信息如下

圖1
問題解決方法
在C++/CLI項目上右鍵卸載項目,卸載完項目后VS2022會自動打開項目的.vcxproj文件,在這個文件上搜索TargetFrameworkVersion,更改項目的.net框架,如果這個文件中沒有搜索到,則在文件中增加<TargetFrameworkVersion>v4.0</TargetFrameworkVersion> 如圖:

圖2
問題分析
如果C++/CLI項目的.vcxproj文件中沒有指定.netframework的框架,則編譯器在編譯時會默認(rèn)采用高版本的框架,就會報如上圖1所示的錯誤