为Visual Studio命令提示符使用PowerShell

为了将所有命令行操作迁移到PowerShell,我想避免使用旧式命令控制台。 但是,Visual Studio命令提示符具有各种环境variables和默认命令提示符下找不到的path设置。 我怎样才能用这些相同的设置创build一个“Visual Studio PowerShell”?

例如,您可以使用此脚本导入Visual Studio命令提示符环境,请参阅脚本文档注释中的示例,例如Visual Studio 2010:

Invoke-Environment '"%VS100COMNTOOLS%\vsvars32.bat"' 

在PowerShell会话的开始(从配置文件或手动)开始完成之后,您可以在PowerShell会话中获得所需的信息。

或者你可以在这个答案中使用Keith Hill提供的解决方案。

看看PowerConsole

PowerConsole已被纳入NuGet http://nuget.codeplex.com/ 。 你可以在Visual Studio和一个包管理系统中获得PowerShell。

我所做的是创建一个简单的cmd批处理命令脚本,如下所示:

 call "%VS80COMNTOOLS%vsvars32.bat" powershell 

然后我创建一个通过cmd调用这个快捷方式。 快捷方式目标如下所示:

 %windir%\System32\cmd.exe /k "SetupPSBuildEnvironment.cmd" 

如果您希望控制台看起来像PowerShell控制台,只需在快捷方式属性中修改您的喜好布局。

我使用这个脚本,我称之为Initialize-VisualStudio.ps1,我在我的配置文件中用点源来调用它,以设置需要它的环境变量,在我的实际会话中:

 param([switch]$ArquitectureX86) if($ArquitectureX86) { $arq= "x86"} else { $arq="x64"} pushd 'c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC' cmd /c "vcvarsall.bat $arq&set" | foreach { if ($_ -match "=") { $v = $_.split("="); set-item -force -path "ENV:\$($v[0])" -value "$($v[1])"; } } popd