问题描述
使用VS2022编译VS2010开发的C++/CLI项目,C++/CLI项目是一个类库项目,单独编译这个项目可以编译成功,但是编译引用这个类库的C#项目编译不通过
在VS2022上看编译C#项目的输出,可以看到错误信息如下
图1
问题解决方法
在C++/CLI项目上右键卸载项目,卸载完项目后VS2022会自动打开项目的.vcxproj文件,在这个文件上搜索TargetFrameworkVersion,更改项目的.net框架,如果这个文件中没有搜索到,则在文件中增加<TargetFrameworkVersion>v4.0</TargetFrameworkVersion> 如图:
图2
问题分析
如果C++/CLI项目的.vcxproj文件中没有指定.netframework的框架,则编译器在编译时会默认采用高版本的框架,就会报如上图1所示的错误