忽略/禁用MSBuild中的环境变量

忽略/禁用MSBuild中的环境变量,msbuild,Msbuild,我正在尝试配置MSBuild,使其忽略环境变量(以确保完全控制生成过程,而不考虑机器)。我知道微软的SQLCMD能够做到这一点,但是我已经检查了调用MSBuild的选项,没有看到类似的选项 可以告诉MSBuild忽略环境变量吗?如果可以,怎么做?在撰写本文时(MSBuild 16.0)还没有任何方法选择不使用环境变量 功能请求在GitHub上被跟踪:谢谢-我当前的客户端阻止了GitHub,所以我自己永远也不会得到它!您的意思是,如果MSBuild是以空环境块启动的,那么您的MSBuild项目将正

我正在尝试配置MSBuild,使其忽略环境变量(以确保完全控制生成过程,而不考虑机器)。我知道微软的SQLCMD能够做到这一点,但是我已经检查了调用MSBuild的选项,没有看到类似的选项

可以告诉MSBuild忽略环境变量吗?如果可以,怎么做?

在撰写本文时(MSBuild 16.0)还没有任何方法选择不使用环境变量


功能请求在GitHub上被跟踪:

谢谢-我当前的客户端阻止了GitHub,所以我自己永远也不会得到它!您的意思是,如果MSBuild是以空环境块启动的,那么您的MSBuild项目将正确生成,并且希望防止在环境块不为空时以不正确或不同的方式生成该项目?我的意思是,据我所知,可以设置MSBuild变量(例如$(配置))通过环境变量,也可能在无意中这样做。所以我想要SQLCMD中的-X开关,它将脚本变量和行为与环境分离。是的,这是为了最大限度地发挥我的构建的决定性。但这比那要复杂一点。My MSBuild(Windows上为14)要求在环境中设置SystemDrive和SystemRoot。然后,它会创建大约30多个属性,大部分来自Windows注册表。这不需要任何导入元素和/或任务,也可能需要或试图读取环境和注册表。也许Docker容器中的远程构建可以为您提供所需的控制程度。感谢您的建议,如果Martin Ullrich的答案中的功能请求没有得到实现,这可能是一个很好的解决方法。