Я пытаюсь написать приложение-функцию с использованием .NET Core в функциях Azure v2.При использовании пакета Microsoft.Powershell.SDK из Nuget (необходим для среды выполнения .NET Core PowerShell) я не могу заставить Visual Studio скопировать библиотеку System.Management.Automation в корзину с моим приложением функций.
Это приводит кв следующей ошибке:
System.Private.CoreLib: Exception while executing function: Function1. TestPowershellInFunction: Could not load file or assembly 'System.Management.Automation, Version=6.1.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'. The system cannot find the file specified. System.Private.CoreLib: Could not load the specified file.
Я воспроизвел это в существующей функции Azure и новом решении, просто создав функцию таймера и добавив следующий фрагмент:
PowerShell shell = PowerShell.Create();
IEnumerable<PSObject> result = shell.AddScript("Write-Output 'Hello, World!'").Invoke();
foreach(PSObject line in result)
{
log.LogInformation(line.ToString());
}
Thisработает в новом консольном приложении с установленным PowerShell Nuget, но при добавлении в приложение функций появляется сообщение об ошибке.Я заметил, что System.Management.Automation не помещается в каталог bin с обычным консольным приложением, но я не уверен, как это интерпретировать.Я знаю, что это системная библиотека, но я не могу использовать ее, если не установлен Nuget, поэтому я не знаю, является ли это особым случаем.В обоих сценариях я использую v6.1.1 PowerShell Nuget.
Это известная ошибка с функциями v2?Или я что-то упустил?