¿Cuál es la forma correcta de hacer referencia a System.Management.Automation? Por ejemplo, este fragmento de 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"
},
Funciona cuando ejecuta dotnet restore ya que encuentra y afirma instalar la dependencia System.Management.Automation (teniendo en cuenta que .17515 no es compatible con .NET Core). Pero no puede simplemente agregar un uso en el código, o dice:
The type or namespace name 'Management' does not exist in the namespace 'System'
La intención aquí es crear una instancia de PowerShell mediante programación en el código, pero .NET Core es un poco restrictivo en la forma en que quiere que se manejen las referencias ...
Este es un problema conocido de NuGet que estamos intentando resolver. Hay una serie de paquetes System.Management.Automation no autorizados que han publicado personas externas. Esos paquetes son todos ensamblados "FullCLR" y no son compatibles con PowerShell Core.
La forma actual de consumir la versión PowerShell Core de System.Management.Automation es copiar la técnica utilizada por este proyecto. Nuestro archivo nuget.config apunta a la versión correcta que se publica en MyGet. powershell-win-core \ project.json muestra cómo consumirlo dentro de su project.json.
Hola Don.
Hay algunas cosas sobre dotnet
cli que pueden ayudarlo a resolverlo.
nuget.config
, usará https://www.nuget.orgframeworks / net451 / frameworkAssemblies
, como aquí https://github.com/PowerShell/PowerShell/blob/dd2394b1e6088f6c82054f5cae5520e532010fd4 /src/System.Management.Automation/project.json#L188dependencies
en project.json
: globabl y específicas del marco. Debes usarlos apropiadamente.Perfecto.