2014-05-21 62 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++功能,問題是解決!