MSBuild无法展开环境变量

3

我对MSBuild还比较陌生,所以我可能做了一些明显错误的事情,但我有一个经验丰富的同事曾经使用过MSBuild,他没有看到任何错误,所以我想在这里发布一下,看看有没有其他人能发现问题。

我正在将我们以前调用的旧批处理文件"ant"转换为MSBuild任务(因为我们想从MSBuild中调用它),由于某种原因环境变量总是展开为")"。

我有一个包含属性组的内容。

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

(line breaks added for legibility). 现在MSBuild Property Functions reference建议我正确地调用System.Environment.GetEnvironmentVariable,但我总是得到一个“)”的值。然而,当我硬编码该值时,代码可以正常工作。
我错过了什么明显的东西? :o)
1个回答

6

我刚刚发现了同样的事情,并想在发布之前重新加载。谢谢! :o) - Owen Blacker
2
只是提醒一下,因为我曾经被这个问题困扰过。Visual Studio 以某种方式缓存环境变量,因此当您添加新的系统环境变量时,它可能仍然为空。重新启动 VS 通常会有所帮助。 - slawek

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接