Estoy empezando a analizar el modelo de PowerShell y el desarrollo de complementos. Lo primero que noto es hacer referencia a System.management.automation.dll. Sin embargo, en Visual Studio, la pestaña .NET no tiene ese ensamblado, y tampoco se puede navegar hasta
C:\windows\assembly\GAC_MSIL\System.Management.Automation\1.0.0.0__31bf3856ad364e35\System.Management.Automation.dll
para hacer una referencia basada en archivos.
¿Estoy obligado a copiar el archivo manualmente para hacer una referencia fácil ?
visual-studio
powershell
icelava
fuente
fuente
Respuestas:
System.Management.Automation en NugetSystem.Management.Automation.dll en NuGet , paquete más nuevo de 2015, ¡no figura como el anterior!
El equipo de Microsoft PowerShell empaqueta un NuGet
Actualización: el paquete ahora es propiedad de PowerShell Team. Huzzah!
fuente
Se instala una copia de System.Management.Automation.dll cuando instala el SDK de Windows (de todos modos, una versión reciente y adecuada del mismo). Debe estar en C: \ Archivos de programa \ Ensamblados de referencia \ Microsoft \ WindowsPowerShell \ v1.0 \
fuente
Si no desea instalar el SDK de Windows, puede obtener el dll ejecutando el siguiente comando en powershell:
fuente
No pude hacer que el SDK se instalara correctamente (algunos de los archivos parecían sin firmar, algo así). Encontré otra solución aquí y eso parece funcionar bien para mí. No requiere la instalación de nuevos archivos en absoluto. Básicamente, lo que haces es:
Edite el archivo .csproj en un editor de texto y agregue:
a la sección correspondiente.
Espero que esto ayude.
fuente
si es de 64 bits: C: \ Archivos de programa (x86) \ Ensamblados de referencia \ Microsoft \ WindowsPowerShell ** 3.0 **
y la versión podría ser diferente
fuente
Utilicé el menú de referencia del proyecto VS y busqué: C: \ windows \ assembly \ GAC_MSIL \ System.Management.Automation y agregué una referencia para el dll y el Runspaces dll.
No necesitaba hackear el archivo .csprj y agregar la línea de referencia mencionada anteriormente. No tengo instalado el SDK de Windows.
Hice la copia de Powershell mencionada anteriormente: Copia ([PSObject] .Assembly.Location) C: \
Mi prueba con un comando Get-Process Powershell funcionó. Usé ejemplos de Powershell para desarrolladores Capítulo 5.
fuente
El ensamblado que viene con Powershell SDK (C: \ Archivos de programa \ Ensambles de referencia \ Microsoft \ WindowsPowerShell \ v1.0) no viene con los tipos específicos de Powershell 2.
La edición manual del archivo csproj resolvió mi problema.
fuente
También puede usar nuget: https://www.nuget.org/packages/System.Management.Automation/ Es quizás una mejor opción.
fuente