如何在Visual Studio

时间:2016-02-09 18:01:19

标签: vb.net visual-studio powershell

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

问题:如何从控制台应用程序中正确调用“get-testcommand”(我创建的)powershell函数,以便visual studio知道我在单独的项目中引用代码而不是编译的DLL和触发我放在Powershell类库中的断点?

2 个答案:

答案 0 :(得分:16)

可以直接调试cmdlet而无需单独的项目。打开类库项目的属性并配置Debug选项卡,如下所示(假设Windows已安装到C:):

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

Class library project configuration for PowerShell debugging

Debugging a PowerShell cmdlet

答案 1 :(得分:0)

修改:试试这个link或此step-by-step

下载PowerShell Tools for Visual Studio 2015 或使用Windows PowerShell ISE

  

如何在Windows PowerShell ISE中调试脚本

     

更新时间:2013年10月17日适用于:Windows PowerShell 2.0,Windows   PowerShell 3.0,Windows PowerShell 4.0,Windows PowerShell 5.0这   主题描述如何使用在本地计算机上调试脚本   WindowsPowerShell®IntegratedScripting Environment(ISE)可视化   调试功能。如何管理断点如何管理断点   调试会话如何跨越,步入和退出   debugging如何在调试时显示变量值   如何管理断点断点是a中的指定点   脚本,您希望操作暂停,以便您可以检查   变量的当前状态和你的环境   脚本正在运行。一旦您的脚本被断点暂停,您就可以   在控制台窗格中运行命令以检查脚本的状态。   您可以输出变量或运行其他命令。你甚至可以修改   对于上下文可见的任何变量的值   目前运行脚本。在检查了你想要的东西之后   看,你可以恢复脚本的操作。您可以设置三种类型   Windows PowerShell调试环境中的断点:Line   断点。到达指定行时脚本暂停   在剧本运作期间......