我需要使用msbuild从命令行构建一个解决方案,其中一个参数将环境变量作为参数的一部分,但是变量在执行时不会扩展。
我使用的命令行是
c:\ windows \ Microsoft.NET \ Framework \ v4.0.30319 \ MSBuild.exe / nologo“c:\ b \ sources \ mysolution.sln”/ m:1 / p:SkipInvalidConfigurations = true / p:VCBuildToolPath = “$(VS80COMNTOOLS).... \ VC \ VCPACKAGES”/ p:OutDit =“C:\ b \ binaries \”/ p:Configuration =“RELEASE”/ p:Platform =“Mixed Platforms”/ p:VCBuildOverride = “C:\ b \ sources \ mysolution.sln.mixed platforms.Release.vsprops”
我收到的错误是 MSB6004:指定的任务可执行位置“$(VS80COMNTOOLS).... \ VC \ VCPACKAGES \ VCBuild.exe”无效。 [C:\ B \源\ mysolution.sln]
我尝试在VCBuildToolPath参数周围使用双引号,并使用%VS80COMNTOOLS%,但环境变量从不展开。
根据系统VS80COMNTOOLS设置为c:\ Program Files \ Microsoft Visual Studio 8 \ Common7 \ Tools
请您告诉我以这种方式在命令行参数中使用环境变量的语法。
P.S。我不需要为此恢复使用msbuild项目文件,因为我需要应用此命令行参数的大量解决方案,所有构建定义都通过TFS触发和构建。 / p>