如何为 Visual Studio 命令行永久设置环境变量

How to permanently set Environment Variables for the Visual Studio command line

对于我的项目,我需要使用 Visual Studio 开发工具作为额外的命令行功能,例如使用 tlbimp 实用程序创建 dlls .

根据 Microsoft 文档,我需要通过调用 vsvars32.bat.

为 Visual Studio 命令行正确配置我的环境变量

The vsvars32.bat file sets the appropriate environment variables to enable command-line builds. (More info: https://msdn.microsoft.com/en-us//library/1700bbwd.aspx)

我的情况看起来很烦人,这些功能在我的 PowerShell 提示符下是临时可用的。每次我需要重新运行那个批处理文件。有没有什么聪明的方法可以让它们持久化?

您可以配置或修改(如果它已经存在)您的 Powershell 配置文件以自动调用 vsvars32.bat 批处理文件:

function Invoke-Batchfile ($file) {
    $cmd = "`"$file`" & set"
    cmd /c $cmd | Foreach-Object {
    $p, $v = $_.split('=')
        Set-Item -path env:$p -value $v
    }
}

Invoke-Batchfile "$env:VSCOMNTOOLS\vsvars32.bat"

考虑到您首先需要根据使用的版本定义指向您的 Visual Studio 安装路径的环境变量:

  • 对于 Visual Studio 15 更新 3 (v.14.0):

$env:VSCOMNTOOLS = "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools"

  • 对于 Visual Studio 13. (v.12.0):

$env:VSCOMNTOOLS = "C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools"

  • 等等...

现在,每次打开 Poweshell 提示时,Visual Studio 开发工具的功能都可用。