2015-04-22 69 views
2

我使用MSBuild從命令行構建解決方案文件。其中,vcxproj文件的路徑是由環境變量FOO指定的%FOO%\ ProjName.vcxprojMSbuild不擴展環境變量

當我在IDE中打開sln時,我找到並加載了該項目。當我使用的MSBuild命令行(在同一臺機器上)我得到的錯誤:

The Project File "C:\Blah\Blah\%FOO%\ProjName.vcxproj" was not found, 

在同一個命令提示符

echo %FOO% 

給了我正確地擴充的路徑。

+1

http://connect.microsoft.com/VisualStudio/feedback/details/690318/msbuild-doesnt-parse-environment-variables-in-sln-files – stijn

+0

基於[this](http://stackoverflow.com#)/questions/10669000/defined-project-paths-in-a-solution-via-macro-environment-variable)(和我自己的實現)MSBuild在項目文件中使用$(Foo)語法,而SLN文件使用%FOO % – maccard

+1

看到編輯的評論:] – stijn

回答

0

來自評論;這是一個已知的bug和來自MS的wontfix。我最終編寫了一個批處理文件來複制sln文件並展開環境變量,構建它並刪除新的sln。工作正常。