如何在使用/ CLR选项时指定.NET版本

use*_*208 7 .net clr compilation c++-cli visual-studio-2010

我正在使用/ CLR标志编译第三方C++代码,这只需要.NET Framework 3.5.

代码编译得很好,但是由于我的开发盒上安装了.NET 4.0,因此生成的二进制文件不适用于任何低于4.0的.NET框架

那么,如何在编译时告诉Visual Studio使用特定版本的.NET Framework?

ild*_*arn 8

Visual C++团队博客上引用一篇文章,Visual Studio 2010 C++项目升级指南:

... 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.