msbuild在构建服务器上缺少VSINSTALLDIR

时间:2014-05-21 22:47:04

标签: c++ mfc msbuild

在尝试编译第一个C ++ MFC项目时,我的构建服务器上出现了问题。我有一个包含两个项目的解决方案文件。在Visual Studio 2010中,已创建使用TFSBuild.proj文件的构建定义。在TFSBuild.proj中,包含MFC解决方案。我们确实有很多C#.NET,VB.NET和数据库项目在这个构建服务器上成功运行。现在只有这个MFC项目似乎失败了。

当构建定义排队时,msbuild开始编译,但最终会收到消息:

C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets (296): Could not find VCInstallDir variable from the registry.  TargetFrameworkVersion or PlatformToolset may be set to an invalid version number.

在构建服务器上安装了Windows Server 2003(32位)并安装了Visual Studio 2010。打开VS命令提示符时,使用SET命令检查环境变量,正确列出VSINSTALLDIR。

我使用详细级别诊断运行构建并查看以下信息(仅限几个设置):

Configuration = Debug
ConfigurationFlavor = Debug
ConfigurationName = Debug
ConfigurationType = Application
Platform = Win32
PlatformToolset = v100
PlatformToolsetVersion = 100
VS100COMNTOOLS = C:\Program Files\Microsoft Visual Studio 10.0\Common7\Tools\
VS80COMNTOOLS = C:\Program Files\Microsoft Visual Studio 8\Common7\Tools\
VS90COMNTOOLS = c:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools\
VSInstallDir = C:\Program Files\Microsoft Visual Studio 10.0\

为什么报告无法找到VSINSTALLDIR,虽然它在de log中显示它设置正确?

1 个答案:

答案 0 :(得分:0)

谢谢汉斯,你向我指出了正确的方向。我首先修复了Visual Studio安装,但没有成功。但后来我检查了已安装的功能,发现在该构建服务器上没有启用C ++功能:(如上所述,我们之前在构建服务器上没有C ++项目)。然后我安装了C ++功能,问题是解决!