Как правильно ссылаться на System.Management.Automation? Например, этот фрагмент из project.json:
"dependencies": {
"Microsoft.NETCore.App": {
"version": "1.0.0",
"type": "platform"
},
"Microsoft.AspNetCore.Diagnostics": "1.0.0",
"Microsoft.AspNetCore.Server.IISIntegration": "1.0.0",
"Microsoft.AspNetCore.Server.Kestrel": "1.0.0",
"Microsoft.Extensions.Logging.Console": "1.0.0",
"Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0",
"Microsoft.Extensions.Configuration.FileExtensions": "1.0.0",
"Microsoft.Extensions.Configuration.Json": "1.0.0",
"Microsoft.Extensions.Configuration.CommandLine": "1.0.0",
"Microsoft.AspNetCore.Routing": "1.0.0",
"System.Security.Cryptography.Algorithms": "4.2.0",
"System.Management.Automation": "6.1.7601.17514"
},
Работает, когда вы запускаете восстановление dotnet, в том использование в код, или он говорит:
The type or namespace name 'Management' does not exist in the namespace 'System'
Цель здесь состоит в том, чтобы программно создать экземпляр PowerShell в коде, но .NET Core немного ограничивает способ обработки ссылок ...
Это известная проблема NuGet, которую мы пытаемся решить. Существует ряд мошеннических пакетов System.Management.Automation, размещенных внешними людьми. Все эти пакеты представляют собой сборки «FullCLR» и несовместимы с PowerShell Core.
Текущий способ использования версии System.Management.Automation для PowerShell Core - это копирование техники, используемой в этом проекте. Наш файл nuget.config указывает на правильную версию, отправленную в MyGet. powershell-win-core \ project.json показывает, как использовать его в вашем project.json.
Привет, Дон.
Есть несколько вещей о dotnet
cli, которые могут помочь вам разобраться.
nuget.config
он будет использовать https://www.nuget.orgframeworks / net451 / frameworkAssemblies
, как здесь https://github.com/PowerShell/PowerShell/blob/dd2394b1e6088f6c82054f5cae5520e532010fd4 /src/System.Management.Automation/project.json#L188dependencies
в project.json
: globabl и специфичные для фреймворка. Вы должны использовать их по назначению.Идеально.