我使用 Beta 2 已经有一段时间了,当我运行 Visual Studio 2010 命令提示符时不得不转向 cmd.exe,这让我很抓狂.我曾经有一个很好的 vsvars2008.ps1 脚本用于 Visual Studio 2008.是否有 vsvars2010.ps1 脚本或类似的脚本?
I've been using Beta 2 for a while now and it's been driving me nuts that I have to punt to cmd.exe when running the Visual Studio 2010 Command Prompt. I used to have a nice vsvars2008.ps1 script for Visual Studio 2008. Is there a vsvars2010.ps1 script or something similar?
推荐答案大量窃取博文 用 PowerShell 替换 Visual Studio 命令提示符,我能够让它工作.我将以下内容添加到我的 profile.ps1 文件中,一切都很好.
Stealing liberally from blog post Replace Visual Studio Command Prompt with PowerShell, I was able to get this to work. I added the following to my profile.ps1 file and all is well with the world.
pushd 'c:Program Files (x86)Microsoft Visual Studio 10.0VC' cmd /c "vcvarsall.bat&set" | foreach { if ($_ -match "=") { $v = $_.split("="); set-item -force -path "ENV:$($v[0])" -value "$($v[1])" } } popd write-host "`nVisual Studio 2010 Command Prompt variables set." -ForegroundColor Yellow多年来一直运行良好 - 直到 Visual Studio 2015.vcvarsall.bat 不再存在.相反,您可以使用 vsvars32.bat 文件,该文件位于 Common7Tools 文件夹.
This has worked well for years - until Visual Studio 2015. vcvarsall.bat no longer exists. Instead, you can use the vsvars32.bat file, which is located in the Common7Tools folder.
pushd 'C:Program Files (x86)Microsoft Visual Studio 14.0Common7Tools' cmd /c "vsvars32.bat&set" | foreach { if ($_ -match "=") { $v = $_.split("="); set-item -force -path "ENV:$($v[0])" -value "$($v[1])" } } popd write-host "`nVisual Studio 2015 Command Prompt variables set." -ForegroundColor YellowVisual Studio 2017 的情况再次发生变化.vsvars32.bat 似乎已被删除,取而代之的是 VsDevCmd.bat.确切路径可能因您使用的 Visual Studio 2017 版本而异.
Things have changed yet again for Visual Studio 2017. vsvars32.bat appears to have been dropped in favor of VsDevCmd.bat. The exact path may vary depending on which edition of Visual Studio 2017 you're using.
pushd "C:Program Files (x86)Microsoft Visual Studio2017EnterpriseCommon7Tools" cmd /c "VsDevCmd.bat&set" | foreach { if ($_ -match "=") { $v = $_.split("="); set-item -force -path "ENV:$($v[0])" -value "$($v[1])" } } popd Write-Host "`nVisual Studio 2017 Command Prompt variables set." -ForegroundColor Yellow您也可以让拆分只创建两个项目以避免破坏包括等号在内的值,它也是环境变量名称和值的分隔符:
You can also make the split create just two items to avoid breaking values including the equal sign, which is also the separator of the environment variable name and the value:
$v = $_.split("=", 2); set-item -force -path "ENV:$($v[0])" -valueVisual Studio 2022 的小改动,现在它是 64 位.
Minor Changes for Visual Studio 2022, now that it's 64-bit.
pushd "C:Program FilesMicrosoft Visual Studio2022EnterpriseCommon7Tools" cmd /c "VsDevCmd.bat&set" | foreach { if ($_ -match "=") { $v = $_.split("=", 2); set-item -force -path "ENV:$($v[0])" -value } } popd Write-Host "`nVisual Studio 2022 Command Prompt variables set." -ForegroundColor Yellow更多推荐
如何在 Visual Studio 命令提示符下使用 PowerShell?
发布评论