Domanda

Ho installato powershell v2 ctp3 dal download ms e mi chiedevo dove fossero memorizzati i soliti assembly di riferimento per l'uso in c # per questa versione. So che per la versione v1 sono nel file di programma \ etc \ reference assembly \ powershell .... ma dove sono per la versione v2 ctp3. In particolare cerco il nuovo System.Management.Automation.dll

saluti Bob.

È stato utile?

Soluzione

Sul mio sistema XP a 32 bit


Get-ChildItem \ -Recurse -Include System.Management.Automation.dll | 
 ForEach-Object {$.DirectoryName,$($.VersionInfo.FileVersion)}
rivela:


   C:\Program Files\Reference Assemblies\Microsoft\WindowsPowerShell\v1.0
6.0.6000.16386
C:\WINDOWS\assembly\GAC_MSIL\System.Management.Automation\1.0.0.0__31bf3856ad364e35
6.1.6949.0

Guardando FileVersion rivela che quella nella GAC è la versione che stai cercando. Ma dal momento che è nel GAC non devi preoccuparti di esso, basta fare riferimento a esso e piuttosto che usarlo.

Altri suggerimenti

Nel mio caso il percorso era in

  

C: \ Windows \ Microsoft.NET \ assembly \ GAC_MSIL \ System.Management.Automation \ v4.0_3.0.0.0__31bf3856ad364e35

Il modo in cui l'ho trovato è stato vedere le cartelle aggiornate dopo aver installato questo ctp in Windows e vedere dove sono andati gli aggiornamenti. Spero che questo ti aiuti.

Non utilizzare il GAC per risolvere i riferimenti. Dovresti trovare i riferimenti appropriati sotto qualcosa come:  C: \ Programmi \ Assembly di riferimento \ Microsoft \ WindowsPowerShell

È un mito comune che gli assembly vengano risolti in fase di progettazione / costruzione nel GAC. Prima di CLR 4.0, te ne sei andato via (perché 3.0 e 3.5 sono davvero CLR 2.0). Con il vero multi-targeting questo si interrompe. Pertanto, dovresti sempre utilizzare gli assembly di riferimento.

Si noti inoltre che gli assembly di riferimento non devono contenere alcun codice. Possono essere solo i metadati dell'assembly e i simboli pubblici.

Oh, e volevo aggiungere, il GAC è usato dal carico di fusione per la risoluzione di Runtime.

Per tempo di progettazione / costruzione, intendo nel momento in cui stai usando Visual Studio per creare la tua applicazione o stai usando MSBuild per creare il tuo EXE. Durante la compilazione, determiniamo i riferimenti che vengono inseriti nel file EXE. Dato che potrebbero essere coinvolti più CLR, dobbiamo assicurarci che & Quot; right & Quot; quelli sono referenziati.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top