Юникодная интерпретация в Linux [закрыта]

В контексте разработки Cmdlet и проблем с разгрузкой вашей DLL существует два подхода, которые я использую.

Во-первых, я разрабатываю Visual Studio и настраиваю внешнюю программу (PowerShell) на загрузите свой командлет. Таким образом, мой модуль загружается, когда я начинаю отладку, и выгружается, когда я прекращаю отладку.

Во-вторых, в тех случаях, когда я знаю, что хочу загрузить модуль, сделайте некоторую работу и убедитесь, что модуль выгружен впоследствии я использую второй экземпляр PowerShell. Это обсуждалось в других ответах, и мой ответ ниже показывает, как включить этот рабочий процесс, используя функцию с псевдонимом в моем профиле. Я изменяю подсказку, чтобы у меня было визуальное напоминание о том, что я нахожусь в «рекурсивном окне PowerShell».

Создайте сценарий в своем профиле, чтобы запустить PowerShell

function Start-DebugPowerShell
{
    PowerShell -NoProfile -NoExit -Command {
        function prompt {
            $newPrompt = "$pwd.Path [DEBUG]"
            Write-Host -NoNewline -ForegroundColor Yellow $newPrompt
            return '> '
        }
    }
}
Set-Alias -Name sdp -Value Start-DebugPowerShell

Отредактируйте отладку настройки для вашего проекта Cmdlet

Запустить внешнюю программу :

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe

Аргументы командной строки :

-NoProfile -NoExit -Command "Import-Module .\MyCoolCmdlet.dll"

Отладка вашего модуля

Теперь из Visual Studio запустите отладчик с F5, и у вас есть новое окно PowerShell с загруженным Cmdlet, и вы можете отлаживать его, как вам нравится.

Использовать псевдоним «sdp» из любого окна PowerShell

Так как функция Start-DebugPowerShell находится в нашем профиле, и мы дали ей псевдоним sdp, вы можете использовать это, чтобы запустить второй экземпляр PowerShell в любое время, когда вам это нужно.

3
задан Stefan 13 July 2018 в 09:23
поделиться