MSBuild无法扩展环境变量

时间:2010-08-20 14:02:36

标签: msbuild environment-variables

我对MSBuild很新,所以我可能会做一些明显错误的事情,但我和MSBuild一起工作的同事看不到任何错误,所以我想我会在这里发帖看看是否其他人都可以看到它。

我正在将我们曾经调用ant的旧批处理文件转换为MSBuild任务(因为我们想从MSBuild调用它),环境变量总是扩展到),原因我们不知道不明白。

我有一个包含

的属性组
<PropertyGroup>
  <EnvJavaHome>
    $([System.Environment]::GetEnvironmentVariable("JAVA_HOME"))
  </EnvJavaHome>
  <!-- ... -->
</PropertyGroup>

(为了易读性添加了换行符)。现在MSBuild Property Functions reference建议我正确调用System.Environment.GetEnvironmentVariable,但我总是得到)的值。但是,当我对值进行硬编码时,代码的效果非常好。

我错过了什么明显的事情? :O)

1 个答案:

答案 0 :(得分:6)

如果它是一个env变量,你应该可以像$(JAVA_HOME)一样使用它 与在<EnvJavaHome>$(JAVA_HOME)</EnvJavaHome>中一样,请参阅例如使用http://msdn.microsoft.com/en-us/library/ms171459(v=VS.100).aspx

(检查环境变量是否实际存在,echo %JAVA_HOME%在命令窗口中)