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


10

在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中设置环境吗?

Answers:



2

PSCX Import-VisualStudioVars是一个大型脚本,试图重复所做的事情vsvars32.bat。那里的问题是使它们保持同步需要付出努力,并且可能是错误的来源。

我更喜欢依靠vsvars32.bat来完成它的工作,然后导入环境。vars。进入PowerShell。我使用Invoke-CmdScript.ps1做到这一点


谢谢回复。我已经考虑过Import-VisualStudioVar或多或少会模拟vsvars32.bat的执行,而不是实际执行它。但是,看到vsvars32.bat对于特定版本的VS非常稳定,我并不真正认为保持两个选项的结果同步确实存在问题。不过,我会尝试您的建议。
Uwe Honekamp

0

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.