我有一个包含以下项目的 .NET 解决方案:
- 网络应用程序 (WAP)
- Web 部署(WDP、.wdproj)
- wix 设置(WIX,.wixproj)
在 WDP 中,我使用了自定义 MSBuild 任务 (SetEnvVar) 来设置一些环境。在构建过程中进一步使用的变量。设置它们后,我可以毫无问题地使用它们。在 WDP 但在 WIX 中,它们是空的/未定义的。奇怪的是,当我引用那些环境时。WIX 文件中的 vars(通过使用 .wxs 中的属性或 .wxi 中的 preproc vars)我得到了预期的值。
你知道为什么 env. var 丢失/在 .wixproj 中未定义?
顺便说一下(解决方案)构建过程是从 VS 2010 内部触发的。
更新
这基本上是我的任务代码:
Environment.SetEnvironmentVariable(this.Variable, this.Value);
MSBuild 解决方案构建不是一个过程吗?
MSBuild 会为解决方案中的每个项目生成一个新流程吗?