Размещенный PowerShell не может видеть командлеты в той же сборке

Я пытаюсь запустить сценарии PowerShell из моего кода C #, который будет использовать пользовательские командлеты из сборки, которая их запускает. Вот код:

using System;
using System.Management.Automation;

[Cmdlet(VerbsCommon.Get,"Hello")]
public class GetHelloCommand:Cmdlet
{
    protected override void EndProcessing()
    {
        WriteObject("Hello",true);
    }
}

class MainClass
{
    public static void Main(string[] args)
    {
        PowerShell powerShell=PowerShell.Create();
        powerShell.AddCommand("Get-Hello");
        foreach(string str in powerShell.AddCommand("Out-String").Invoke<string>())
            Console.WriteLine(str);
    }
}

Когда я пытаюсь запустить его, я получаю исключение CommandNotFoundException. Я неправильно написал свой командлет? Есть ли что-то, что мне нужно сделать, чтобы зарегистрировать мой командлет в PowerShell или в Runspace или что-то?

Ответы на вопрос(3)

Ваш ответ на вопрос