我在 Windows 7 64 位专业版上使用 Visual Studio 2010。我在调试自定义 PowerShell cmdlet 时遇到问题。
配置
- 语言:C#,面向 .NET Framework 3.5 SP1。
- 平台目标:任何 CPU
- 开始行动:
C:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe
- 命令行参数:
-noexit -command Add-PSSnapIn MyCustomSnapIn
问题1:按F5时无法附加(调试→开始调试)
- PowerShell 打开,任务管理器指示 powershell.exe 作为 64 位进程运行。Image Path Name 列显示在 Start Action 中指定的相同可执行文件。
- 如果我在 Visual Studio 中选择“调试”→“全部中断”,我会收到一条消息“无法中断执行。此进程当前未执行您选择调试的代码类型。”
问题 2:当我按 Ctrl+F5 时意外启动为 32 位进程(调试 → 不调试启动)
- PowerShell 打开。任务管理器指示 powershell.exe 作为 32 位进程运行 - 这次图像路径名称显示 SysWOW64 重定向。
现在调试的烦人方法:我发现调试我的 cmdlet 的唯一方法是按 F5,然后选择 Debug→Detach All,然后选择 Debug→Attach To Process 并重新连接 Visual Studio。