【问题标题】:Building C++ CLR app for Platform Toolset v90 in VS2010 requires Visual Studio 2008在 VS2010 中为 Platform Toolset v90 构建 C++ CLR 应用程序需要 Visual Studio 2008
【发布时间】:2011-03-21 03:31:23
【问题描述】:
我有一台闪亮的新笔记本电脑,安装了最新的开发工具,例如 Visual Studio 2010。
现在我的任务是构建一个面向 2.0 运行时的 C++ CLR 应用程序(这远远超出了我的舒适范围)。所以我指定了 v90 平台工具集,但是当我构建时,我得到:-
错误 MSB8010:指定的平台工具集 (v90) 需要 Visual Studio 2008。请确保计算机上已安装 Visual Studio 2008。
说真的,我真的需要安装 2008 吗?有没有办法解决这个问题,比如只是从 2008 年安装的一些文件夹中复制?
如果不是我需要多少 VS 2008 安装?
【问题讨论】:
标签:
c++
visual-studio
visual-studio-2008
visual-c++
visual-studio-2010
【解决方案1】:
部分问题在于 VS2010 重新设计了在 c++(cli 与否)中编译的工作方式。它现在使用 MSBuild 结构,但我相信您正在尝试做的将需要 2010 年没有的 VCBuild 框架。
您也许可以使用 Visual Studio 2008 express 来构建。如果没有,你应该只需要 VS2008 的 c++ 部分。
您需要使用 vc90 目标吗?我用 vc10 目标构建了我的 c++/cli(我自己还是新的),它构建得很好。 (但是我的目标是引用一些 2.0 部分的 4.0 框架)
【解决方案2】:
如果您在项目设置的常规选项卡中将“平台工具集”设置为“从父级或项目默认值继承”,则它在大多数情况下都可以使用。
【解决方案3】:
在 *.vcxproj 中
<PropertyGroup Label="Globals"> //全局
<ProjectGuid>{E0047D4D-366D-4870-980B-DBB5A375BCE2}</ProjectGuid>
<RootNamespace>ECGConvertWrapper</RootNamespace>
<Keyword>Win32Proj</Keyword>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
<TargetFrameworkVersion>v2.0</TargetFrameworkVersion> //那里
</PropertyGroup>