msbuild-如何修改整个生成的环境变量

msbuild-如何修改整个生成的环境变量,msbuild,Msbuild,我想修改所有Exec任务的环境变量 似乎暗示不可能这样做,并直截了当地说不可能根据Exec任务更改环境。那么,这是否意味着甚至无法为所有Exec任务全局设置环境变量 这可能吗?如果是,我该怎么做?如果在shell中设置启动msbuild的路径,则每个Exec任务都会获得该路径。你为什么不能用这个?或者,您可以使用调用Environment.SetEnvironmentVariable的自定义任务,然后在运行时设置msbuild进程的环境,并且任何Exec任务都将继承它。至少这是我在中所说的,所以

我想修改所有
Exec
任务的环境变量

似乎暗示不可能这样做,并直截了当地说不可能根据
Exec
任务更改环境。那么,这是否意味着甚至无法为所有
Exec
任务全局设置环境变量


这可能吗?如果是,我该怎么做?

如果在shell中设置启动msbuild的路径,则每个Exec任务都会获得该路径。你为什么不能用这个?或者,您可以使用调用Environment.SetEnvironmentVariable的自定义任务,然后在运行时设置msbuild进程的环境,并且任何Exec任务都将继承它。至少这是我在中所说的,所以我假设它当时对我有效,我不明白为什么它不起作用。@stijn我正在通过Visual Studio build命令启动
MSBuild
。这只是部分相关。如果从具有适当环境设置的shell启动devenv.exe,效果是相同的:环境传播到msbuild,然后传播到由其Exec任务生成的cmd.exe进程。所以,同样的问题是:你能不能使用这个原则?@stijn我通过visualstudio
Rebuild
command启动MSBuild,这无关紧要。无论在用户界面中使用什么命令,MSbuild都从VS继承环境。