在 Windows Powershell 中运行 Visual Studio 命令行工具

在 Windows Powershell 中运行 Visual Studio 命令行工具

在 cmd.exe 中,我只需运行

%VS80COMNTOOLS%\vsvars32.bat

设置运行 Visual Studio 命令行工具(即 cl、link、mt 等)的环境。我想知道如何在 Powershell 中设置运行这些工具的环境。当然,可以使用

start-process $env:vs80comntools\vsvars32.bat

但当进程终止时,环境就会消失。我已经对 System.Diagnostics.StartProcessInfo 进行了一些实验,例如

$proc = start-process $env:vs80comntools\vsvars32.bat -passthru
$procInfo = proc.StartInfo

然后从中获取环境$procInfo.EnvironmentVariables但这也不起作用。

还有其他方法可以在 Powershell 中设置环境吗?

答案1

PowerShell 社区扩展有一个Import-VisualStudioVarscmdlet。

答案2

PSCXImport-VisualStudioVars是一个大型脚本,它试图复制vsvars32.bat所做的工作。问题是保持它们同步需要付出努力,并且可能成为错误的根源。

我更喜欢依赖 vsvars32.bat 来完成它的工作,并将环境变量导入到 PowerShell 中。我这样做调用-CmdScript.ps1

答案3

PowerShell 库中的另一个选项:posh-vs 使 Visual Studio 命令行工具在 PowerShell 中可用。支持 Visual Studio 2017 和 2015。

相关内容