2013-06-11 9 views
6

Esiste una versione 2.0 (o successiva) dell'assembly System.Management.Automation?Versione 2.0 di System.Management.Automation?

Sto guardando la classe PowerShell in C# che dice che questa classe è stata introdotta con PowerShell 2.0. Quel numero di versione corrisponde al numero di versione che sto vedendo quando aggiungo il riferimento all'assembly in Visual Studio?

Questa è una specie di domanda aggiuntiva a my other question che riguarda problemi di risoluzione della classe PowerShell all'interno di tale assembly.

Ho provato l'assemblea System.Management.Automation sia nel GAC:

C:\Windows\assembly\GAC_MSIL\System.Management.Automation\1.0.0.0__31bf3856ad364e35 

E Reference Assemblies:

C:\Program Files\Reference Assemblies\Microsoft\WindowsPowerShell\v1.0 

Entrambe le cartelle contenenti hanno solo la versione 1.0

ho PowerShell 2.0 installato.

risposta

6

La versione con nome sicuro per powershell v1 e powershell v2 è 1.0.0.0. Sorprendente, sì, ma questa è una funzione del design di retrocompatibilità. Sia powershell v1 che v2 funzionano su CLR2. Powershell v3 gira su CLR4, quindi hanno eseguito il bump della versione con nome sicuro su 3.0.0.0 per quello.

Solo per confondere ulteriormente le cose, il nome della cartella di Windows per tutte le versioni è v1.0, ancora una volta, per motivi di compatibilità.

L'unico modo in cui è possibile eseguire la vera versione di PowerShell v1.0 è se si utilizza Windows XP, Vista o Server 2003/2008. Se stai usando windows 7, 2008r2, sei su v2 come minimo. Se hai 8 o 2012, sei sulla v3 di PowerShell al minimo.

Spero che questo aiuti.

+0

Immagino che risponda alla mia domanda, anche se sono su Windows Server 2008 R2, quindi sarebbe pur sempre la versione 1.0 ma per PowerShell 2.0. Oh bene. Torna alla mia [domanda originale] (http://stackoverflow.com/questions/17051184/no-powershell-in-system-management-automation) per ottenere quella classe 'PowerShell' da risolvere. – tnw

Problemi correlati