不同vs版本之间移动项目时,可能会出现导入失败,提示Import找不到相关路径下的props文件 错误会指向vcxproj文件中的相关行 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
以本次问题为例,出错情况是vs2019建的项目,移动到vs2012下无法加载。 解决方案 打开要移植的项目vcxproj文件,第二行
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
中增加或修改ToolsVersion属性,与目标方案工具版本一致,如:
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
关闭加载失败的方案,删除方案目录中sdf文件,打开方案即可正常加载
VS版本与工具版本号对应关系
-Visual Studio 2008 - ToolsVersion 3.5 -Visual Studio 2010 - ToolsVersion 4.0 -Visual Studio 2012 - ToolsVersion 4.0 -Visual Studio 2013 - ToolsVersion 12.00 -Visual Studio 2015 - ToolsVersion 14.00 -Visual Studio 2017 - ToolsVersion 15.00 -Visual Studio 2019 - Current -Visual Studio 2022 - Current
关于vcxproj文件说明 https://docs.microsoft.com/en-us/cpp/build/reference/vcxproj-file-structure?view=msvc-170 关于ToolsVersion https://docs.microsoft.com/zh-cn/previous-versions/visualstudio/visual-studio-2015/msbuild/msbuild-toolset-toolsversion?view=vs-2015&redirectedfrom=MSDN https://docs.microsoft.com/en-us/visualstudio/msbuild/msbuild-toolset-toolsversion?view=vs-2019 https://docs.microsoft.com/zh-cn/visualstudio/msbuild/msbuild-toolset-toolsversion?view=vs-2022 props文件路径 C:\Users\用户名\AppData\Local\Microsoft\MSBuild\v4.0\Microsoft.Cpp.Win32.user.props C:\Program Files (x86)\MSBuild
|