我正在尝试使用Visual Studio 2015将Powershell模块编写为VB.net项目。我已经能够将几个命令放在一起,将类库编译成DLL,将模块导入Powershell会话并调用我创建的命令。到目前为止都很好。但是当我扩展这个模块时,我需要能够调试它。所以我向解决方案添加了另一个项目,一个控制台应用程序我将其设置为启动项目,并在第一个项目中引用了Powershell类。到目前为止,当我调用Powershell函数时,我写了所有的工作都是在EndProcessing()子例程中完成的。我无法通过我的控制台应用程序调用它,因为它受到保护。
问题:如何从控制台应用程序中正确调用“get-testcommand”(我创建的)powershell函数,以便visual studio知道我在单独的项目中引用代码而不是编译的DLL和触发我放在Powershell类库中的断点?
答案 0 :(得分:16)
可以直接调试cmdlet而无需单独的项目。打开类库项目的属性并配置Debug
选项卡,如下所示(假设Windows已安装到C:
):
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
-NoLogo -Command "Import-Module '.\MyModule.dll'; Get-TestCommand;"
答案 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 断点。到达指定行时脚本暂停 在剧本运作期间......