PowerShell — как правильно встроить в проект Windows Forms — .NET 4.7.2

#c# #.net #powershell #scripting

Вопрос:

Я использую проект Windows Forms только для того, чтобы попытаться проверить некоторые идеи в написании сценариев внутри приложения с помощью сценариев PowerShell. Мне трудно понять, какой пакет Nuget добавить.

Я перепробовал несколько версий System.Management.Автоматизация моего проекта. https://foxlearn.com/windows-forms/how-to-execute-powershell-script-in-csharp-444.html в приведенной выше статье на самом деле нет информации о версии. Когда я добавляю пакет Nuget, я не вижу объектов Runspace или PowerShell.

Я использую Winforms под C# / .NET версии 4.7.2. Кроме того, какую библиотеку/пакет следует использовать в консольном приложении .NET 5?

Ответ №1:

Я использую Winforms под C# / .NET версии 4.7.2

Предполагая, что вам нужна последняя доступная версия для этой среды выполнения, вы захотите сослаться на пакет «Справочные сборки PowerShell 5.1«.:

 <?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="Microsoft.PowerShell.5.1.ReferenceAssemblies" version="1.0.0" targetFramework="net472" />
</packages>
 

Как следует из названия, этот пакет является лишь поверхностной ссылкой на метаданные, и результирующие двоичные файлы будут зависеть от среды выполнения Windows PowerShell 5.1 (версия по умолчанию во всех поддерживаемых в настоящее время версиях Windows 10).


Кроме того, какую библиотеку/пакет следует использовать в консольном приложении .NET 5?

В этом случае вам потребуется выбрать последнюю совместимую версию System.Management.Automation .


Если вы попадаете в ситуацию, где вам предстоит развивать общие компоненты PowerShell для обоих .Чистая рамки >4.5 а .Объем 5, Вы можете взять преимущество из PowerShellStandard.Library пакета — это .Объем стандартный пакет, который предоставляет доступ только к части API-интерфейса, доступные в обоих 5.1 (так это работает .Net для приложений) и 6 (так оно и работает .Объем ядра / .Сетка 5)

Комментарии:

1. Спасибо за отличную информацию!! Есть ли руководство также где-либо на официальных сайтах Microsoft? Что каким-то образом я пропустил свои исследования. Еще раз спасибо.