Я использую Visual Studio 2010 для 64-разрядной версии Windows 7. У меня возникла проблема с отладкой специального командлета PowerShell.
Конфигурация
- Язык: С#, предназначенный для .NET Framework 3.5 SP1.
- Цель платформы: любой процессор
- Начало действия:
C:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe
- Аргументы командной строки:
-noexit -command Add-PSSnapIn MyCustomSnapIn
Проблема 1: Не удалось подключиться, когда я нажимаю F5 (Debug → Start Debugging)
- PowerShell открывается, а диспетчер задач указывает, что powershell.exe работает как 64-разрядный процесс. В столбце "Имя пути к изображению" показан тот же исполняемый файл, который указан в действии "Пуск".
- Если я выберу Debug → Перерыв Все в Visual Studio, я получаю сообщение "Невозможно разорвать выполнение. Этот процесс в настоящее время не выполняет тип кода, который вы выбрали для отладки".
Проблема 2: Неожиданно запускается как 32-разрядный процесс, когда я нажимаю Ctrl + F5 (Debug → Start Without Debugging)
- Откроется PowerShell. Диспетчер задач указывает, что powershell.exe работает как 32-битный процесс - на этот раз имя пути изображения отображает перенаправление SysWOW64.
Досадный способ отладки прямо сейчас: Единственный способ, которым я нашел отладку моего командлета, - нажать F5, затем выбрать Debug → Отсоединить все, затем выбрать Debug → Прикрепить к процессу и снова подключиться Visual Studio.