VS2013下MFC和.net混合编程编译XP兼容程序时的C1107错误的解决方法

有一个项目属于MFC和.net混合编程,开发环境VS2013,为了让编译出来的程序在XP下运行,设置如下:
1 项目属性页中的“配置属性”下面的“常规”里面,把“平台工具集”,由“Visual Studio 2013 (v120)”改成“Visual Studio 2013 - Windows XP (v120_xp);
2 目标框架4.5.1(VS2013自带的.net框架);


错误 2 error C1107: 未能找到程序集“mscorlib.dll”:  请使用 /AI 或通过设置 LIBPATH 环境变量指定程序集搜索路径


原因:编译器无法定位传递给 #using 指令的元数据文件。平台工具集改为 Windows XP (v120_xp) 后,目标框架由4.5.1变为4.0(原因不明);


解决方法:
在 Visual Studio 开发环境中设置此编译器选项
1 打开该项目的“属性页”对话框。 有关详细信息,请参见 如何:打开项目属性页。
2 单击“C/C++”文件夹。
3 单击“常规”属性页。
4 修改“解析 #using 引用”属性。
我的项目改为了.net4.0的目录,即:C:\Windows\Microsoft.NET\Framework\v4.0.30319;


后注:平台工具集的选项为“Visual Studio 2013 (v120)”时,目标框架为4.5.1,编译正常。

你可能感兴趣的:(VS2013下MFC和.net混合编程编译XP兼容程序时的C1107错误的解决方法)