Riferimento system.management.automation.dll in Visual Studio




visual-studio powershell (6)

Sto iniziando a esaminare il modello PowerShell e lo sviluppo degli snap-in. La prima cosa che noto è fare riferimento a System.management.automation.dll. Tuttavia, in Visual Studio, la scheda .NET non ha quell'assembly e non è nemmeno possibile navigare

C:\windows\assembly\GAC_MSIL\System.Management.Automation\1.0.0.0__31bf3856ad364e35\System.Management.Automation.dll

per creare un riferimento basato su file.

Sono costretto a copiare il file manualmente per fare un riferimento facile ?


Ho usato il menu VS Reference Reference e ho navigato su: C: \ windows \ assembly \ GAC_MSIL \ System.Management.Automation e ho aggiunto un riferimento per la dll e la dll di Runspaces.

Non ho avuto bisogno di hackerare il file .csprj e aggiungere la linea di riferimento menzionata sopra. Non ho installato l'SDK di Windows.

Ho fatto la copia di PowerShell di cui sopra: Copia ([PSObject] .Assembly.Location) C: \

Il mio test con un comando Powershell Get-Process ha funzionato. Ho usato esempi da Powershell per gli sviluppatori del capitolo 5.


L'assembly fornito con Powershell SDK (C: \ Programmi \ Reference Assembly \ Microsoft \ WindowsPowerShell \ v1.0) non viene fornito con tipi specifici di Powershell 2.

La modifica manuale del file csproj ha risolto il mio problema.



Se non si desidera installare Windows SDK, è possibile ottenere la DLL eseguendo il seguente comando in PowerShell:

Copy ([PSObject].Assembly.Location) C:\

se è a 64 bit - C: \ Programmi (x86) \ Assiemi di riferimento \ Microsoft \ WindowsPowerShell ** 3.0 **

e la versione potrebbe essere diversa






powershell