Насколько это официально не утверждено (насколько мне известно), никто не может одобрить его, кроме вас.Если ваш сценарий работает и проходит разумные тесты, одобрите и используйте его.
Я использую PowerShell в .NET 4.0, но с опцией 4, и тоже использовал опцию 1 (мне не нравится опция 2лично).Таким образом, я одобрил это, производство или нет, я использую это много, и это работает.Я все еще использую PowerShell в .NET 2.0 по двум причинам: 1) PowerShell.exe запускается быстрее (особенно x64);2) быть уверенным, что часть моей разработки PowerShell совместима с .NET 2.
Еще одна мысль.Если что-то не работает должным образом в PowerShell в .NET 2.0 (есть некоторые проблемы, действительно, см. Connect), то сам факт «одобрен для производства» мало помогает.Нужно преодолеть существующие проблемы, .NET 2 или .NET 4 не имеет значения.
PS Я должен был упомянуть, что я также попробовал вариант 3.Я не нашел подходящих вариантов использования в моих сценариях.Но я не нашел никаких проблем в использовании ConsoleShell.
PPS Еще один вариант.Сделайте копию PowerShell.exe , переименуйте ее в MyConsoleShell.exe , используйте ее вместе с MyConsoleShell.exe.config , настроенным для .NET 4. Покатак как вы все равно собираетесь использовать отдельное приложение, то почему бы не рассмотреть это?