Question

J'ai installé powershell v2 ctp3 à partir du téléchargement ms et je me demandais où les assemblages de référence habituels sont stockés pour pouvoir être utilisés en c # pour cette version. Je sais que pour la version v1, ils se trouvent dans le fichier programme \ etc \ reference assemblies \ powershell .... mais où sont-ils pour la version v2 ctp3. Je recherche spécifiquement le nouveau System.Management.Automation.dll

salutations Bob.

Était-ce utile?

La solution

Sur mon système 32 bits XP


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


   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

L'examen de la FileVersion révèle que celui du GAC est la version que vous utilisez. à la recherche de. Mais comme il est dans le GAC, vous n'avez pas besoin de vous en inquiéter, il suffit de le référencer et de l'utiliser.

Autres conseils

Dans mon cas, le chemin était dans

  

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

Comme je l’ai trouvé, c’était de voir les dossiers mis à jour après l’installation de ce ctp sous Windows et de voir où se trouvaient les mises à jour. J'espère que cela vous aide.

Vous ne devez pas utiliser le GAC pour résoudre les références. Vous devriez trouver les références appropriées sous quelque chose comme:  C: \ Programmes \ Assemblys de référence \ Microsoft \ WindowsPowerShell

Il est courant de penser que les assemblages sont résolus au moment de la conception / construction dans le GAC. Avant CLR 4.0, vous vous en tiriez (car 3.0 et 3.5 sont vraiment CLR 2.0). Avec un véritable multi-ciblage, cela casse. En tant que tel, vous devez toujours utiliser des assemblages de référence.

Notez également que les assemblys de référence ne doivent contenir aucun code. Ils peuvent simplement être les méta-données de l'assemblage et les symboles publics.

Oh, et je voulais ajouter, le GAC est utilisé par la charge de fusion pour la résolution d'exécution.

Par Design / Build, je veux dire au moment où vous utilisez Visual Studio pour créer votre application, ou utilisez MSBuild pour créer votre fichier EXE. Au cours de la construction, nous déterminons les références placées dans le fichier EXE. Puisqu'il peut y avoir plusieurs CLR impliqués, nous devons nous assurer que le & "Right &"; les uns sont référencés.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top