Visual studio 如何从VisualStudio2010运行PowerShell脚本

Visual studio 如何从VisualStudio2010运行PowerShell脚本,visual-studio,visual-studio-2010,powershell,Visual Studio,Visual Studio 2010,Powershell,如果Visual Studio中有一个.ps文件,如何在项目上下文中运行它?最好的方法是安装Visual Studio 2010的PowerGUI扩展 此扩展的功能之一是集成的powershell工具窗口。这可以通过$EnvDTE访问自动化对象,如DTE,并为针对项目运行脚本提供良好的环境不确定“从项目上下文中”的确切含义,但您可以: 创建一个流程 Process p = new Process(); 然后将进程的命令设置为: powershell.exe YourScriptName

如果Visual Studio中有一个.ps文件,如何在项目上下文中运行它?

最好的方法是安装Visual Studio 2010的PowerGUI扩展


此扩展的功能之一是集成的powershell工具窗口。这可以通过
$EnvDTE
访问自动化对象,如
DTE
,并为针对项目运行脚本提供良好的环境不确定“从项目上下文中”的确切含义,但您可以:

  • 创建一个
    流程

    Process p = new Process();
    
  • 然后将进程的命令设置为:

    powershell.exe YourScriptName.ps1
    

  • 如果您只需要运行脚本,则可以使用此功能。

    您还应该查看,它提供了DTE在自定义PowerShell主机中的深度集成。

    我通过添加链接到外部工具的上下文菜单项来实现此功能:

    添加“外部工具”。转到工具>外部工具。使用以下设置添加新设置:

    • 标题:
      使用Powershell运行
    • 命令:
      powershell.ex
    • 参数:
      -ExecutionPolicy RemoteSigned-File“$(ItemPath)”
    • 初始目录:
      $(ItemDir)
    • 选中“
      使用输出窗口”
    • 如果计划使用需要参数的脚本,请选中“
      提示输入参数”
    记下工具在列表中的位置(1、2等)。单击“确定”

    • 现在转到
      工具
      自定义
      命令
      选项卡,选择
      上下文菜单
      工具栏
      ,然后选择“项目和解决方案上下文菜单|项”
    • 单击“
      添加命令…
    • 选择
      Tools
      类别,然后选择“
      externalcommandx
      ”,其中
      X
      是工具在列表中的位置(索引以1开始,而不是0)
    • 单击
      OK
    • 将其移动到菜单中所需的位置,然后单击“修改选择” 给它一个友好的名字
    • 添加键盘快捷键等
    • 单击关闭

    右键单击解决方案浏览器中的.ps1文件,然后开始享受。(注意:我也这样做是为了让cmd.exe运行.bat文件。)

    这与使用NuGet相比如何?我假设NuGet控制台以某种方式连接到DTE中。NuGet在安装时使用powershell…我实际上是出于这个原因研究powershell的。Jared,这很有用。我已经有了PowerGUI,对于如何使用它我有点困惑。我最大的问题是,我试图运行的脚本说,它们是用比我现有的版本更新的版本编译的,但我只是将其删除。还在做这个,太棒了!谢谢我需要修改项目文件的xml,但是动态访问项目路径很困难,因为这个脚本不会一直在同一个位置运行。哇,StudioShell真是太棒了!