MSBuild所需的环境变量

6
我试图从命令行设置.NET(C#)构建。在运行MSBuild.exe之前,我需要在MSDOS提示符中设置哪些环境变量列表? MSBuild可执行文件的路径是最明显的示例。我不能依赖于从“我的电脑 -> 属性 -> 高级 -> 环境变量”设置变量,因此如果存在完整的列表,我确实需要它。
P.S. 构建需要自动化(命令行),我不使用Visual Studio,而是仅使用.NET Framework(v3.5)进行构建。
5个回答

8

在使用命令行运行MSBuild.exe之前,我需要在MSDOS提示符中设置哪些环境变量列表?

MSBuild具有一组保留属性,但您不需要执行任何操作来设置这些属性。 MSBuild需要的任何变量都将在MSBuild内部设置。您需要关注的唯一的环境变量是您自己所需的环境变量。

用于DOS脚本的MSBuild的物理路径为:

C:\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild

1
当针对不同版本的 .NET 进行定位时,路径肯定会有所不同。 - amalgamate

6
在Visual Studio安装中有一个批处理文件vsvars32.bat,它将设置环境变量。如果您想获取列表,则可以在调用它之前和之后记录所有环境变量的完整列表,例如,在命令行窗口中:
set
"D:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\Tools\vsvars32.bat"
set

找出这两个列表之间的区别。

vsvars32.bat 的路径可能有所不同......)


这似乎不适用于Visual Studio 2017。发生了什么? - Peter Mortensen

1

在调用MSBuild时,您不需要设置任何环境变量。如果您的构建脚本依赖于一组环境变量,则必须自行设置这些变量。至于默认的构建过程,不需要特殊的环境变量。


0

Visual Studio自带一个程序,可以在命令行中为您设置所有必需的变量。建议您运行该程序,这将为您提供一个窗口中的cmd,您可以在其中编译任何不同的语言。


不行。我正在使用不同的环境设置方式,我需要一个变量列表。我想我需要去找一下你提到的批处理文件。 - Bostone

-2

不需要环境变量。只需确保您设置了此注册表键(请注意,这适用于64位的Visual Studio;对于32位的Visual Studio,请使用稍微不同的路径):

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\4.0]

"MSBuildOverrideTasksPath"="C:\windows\Microsoft.NET\Framework64\v4.0.30319\"

然后你只需要输入

msbuild

在命令提示符下。

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