如何在Visual Studio中调试powershell模块

Dav*_*idM 10 vb.net powershell visual-studio

我正在尝试使用Visual Studio 2015将Powershell模块编写为VB.net项目.我已经能够将几个命令放在一起,将类库编译成DLL,将模块导入Powershell会话并调用我创建的命令.到目前为止都很好.但是当我扩展这个模块时,我需要能够调试它.所以我向解决方案添加了另一个项目,一个控制台应用程序 我将其设置为启动项目,并在第一个项目中引用了Powershell类.到目前为止,当我调用Powershell函数时,我写了所有的工作都是在EndProcessing()子例程中完成的.我无法通过我的控制台应用程序调用它,因为它受到保护.

问题:我如何正确地调用"GET-testcommand"(我创建的)PowerShell的功能从一个控制台应用程序以这样一种方式,视觉工作室知道我引用的代码在一个单独的项目,而不是编译的DLL,并触发断点我放入了Powershell类库?

BAC*_*CON 19

可以直接调试cmdlet而无需单独的项目.打开类库项目的属性Debug并按如下方式配置选项卡(假设安装了Windows C:):

  • 开始行动
    • 启动外部程序: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
  • 启动选项
    • 命令行参数: -NoLogo -Command "Import-Module '.\MyModule.dll'; Get-TestCommand;"

PowerShell调试的类库项目配置

调试PowerShell cmdlet

  • 这比我希望的更好.我在命令行中添加了一个-NoExit,以便在调试后保持PowerShell窗口打开,以使事情变得更加容易.谢谢! (4认同)

归档时间:

查看次数:

6859 次

最近记录:

8 年,5 月 前