2014-05-21 33 views
0

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

当构建定义排队,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不能被发现,但它显示了在记录它设置正确吗?

+0

阅读消息:*从注册表*。修复应该是下一个,检查后,机器是好的。 –

回答

0

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