我使用/ CLR标志编译第三方C ++代码,只需要.NET Framework 3.5。
代码编译得很好,但是由于我的开发盒上安装了.NET 4.0,因此生成的二进制文件不适用于任何低于4.0的.NET框架
那么,如何在编译时告诉Visual Studio使用特定版本的.NET Framework?
答案 0 :(得分:8)
在Visual C++ Team Blog,Visual Studio 2010 C++ Project Upgrade Guide:
上引用一篇文章...... VS2010编译器无法定位Framework 2.0,3.0或3.5。必须使用VS2008编译器来定位2.0,3.0或3.5。 ...可以通过以下方法之一将C ++应用程序重新定位到其他框架(例如3.5):
- 编辑vcxproj文件,并在第一个属性组中定义添加以下内容:
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
- 打开VS2010命令行
set TargetFrameworkVersion=v3.5
,然后从命令行启动devenv.exe。这将把所有C ++应用程序都定位到v3.5框架。- 在构建应用程序时将
/p:TargetFrameworkVersion=v3.5
传递给MSBuild:MSBuild my.vcxproj /p:TargetFrameworkVersion=v3.5
请注意,必须在机器上安装VS2008才能使应用程序达到目标2.0,3.0或3.5。