任     务: 早年在VS2010下开发的C程序,现在换用VS2017打开,出现很多问题。以下主要解决遇到的两个问题。希望对你有帮助

解决方法如下:

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

1. VS2017应当安装对应的 Windows SDK

2.右键工程——》属性——》选择VS2017安装的Windows SDK版本(10.0.16299.0),这步让项目包含(incude)系统头文件(例如:stdio.h, string.h, ctype.h)等

VS2017运行旧版本下的C程序工程 随笔 第1张

 

3.解决平台工具集问题

 VS2017运行旧版本下的C程序工程 随笔 第2张

 

VS2010下运行的C 程序,直接用VS2017打开配置

<!-- Error out if toolset does not exists in older versions of Visual Studio -->
<VCMessage Code="MSB8020" Type="Error" Arguments="$(_PlatformToolsetShortNameFor_v110);$(PlatformToolset)" Condition="'$(DesignTimeBuild)'!='true' and '$(_ToolsetFound)' != 'true' and '$(PlatformToolset)' == 'v110'" />
<VCMessage Code="MSB8020" Type="Error" Arguments="$(_PlatformToolsetShortNameFor_v100);$(PlatformToolset)" Condition="'$(DesignTimeBuild)'!='true' and '$(_ToolsetFound)' != 'true' and '$(PlatformToolset)' == 'v100'" />
<VCMessage Code="MSB8020" Type="Error" Arguments="$(_PlatformToolsetShortNameFor_v90);$(PlatformToolset)" Condition="'$(DesignTimeBuild)'!='true' and '$(_ToolsetFound)' != 'true' and '$(PlatformToolset)' == 'v90'" />
<VCMessage Code="MSB8020" Type="Error" Arguments="$(PlatformToolset);$(PlatformToolset)" Condition="'$(DesignTimeBuild)'!='true' and '$(_ToolsetFound)' != 'true' and '$(PlatformToolset)' != 'v90' and '$(PlatformToolset)' != 'v100' and '$(PlatformToolset)' != 'v110'" />
</Target> 

_PlatformToolsetShortNameFor_v100 对应的是 VS2010的平台工具集。

 

按照提示进行操作: 项目---> 重定解决方案目标

VS2017运行旧版本下的C程序工程 随笔 第3张

点击确定

输出结果:
配置“Debug|Win32”: 将平台工具集更改为“v141”(之前为“v140”)。 配置“Release|Win32”: 无需升级平台工具集。平台工具集为“v141”。 重定目标结束: 1 个已完成,0 个未通过,0 个已跳过

即可正常调试原程序。

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄