Pregunta

Instalé powershell v2 ctp3 de la descarga de ms y me preguntaba dónde se almacenan los ensamblados de referencia habituales para usarlos en c # para esta versión. Sé que para la versión v1 están en el archivo de programa \ etc \ ensamblados de referencia \ powershell ... pero ¿dónde están para la versión v2 ctp3? Estoy buscando específicamente el nuevo System.Management.Automation.dll

saludos Bob.

¿Fue útil?

Solución

En mi sistema XP de 32 bits


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


   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

Mirar la FileVersion revela que el que está en GAC es la versión que eres buscando. Pero dado que está en el GAC, no necesita preocuparse por eso, solo consúltelo y luego úselo.

Otros consejos

En mi caso, la ruta estaba en

  

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

La forma en que lo encontré fue ver las carpetas actualizadas después de instalar este ctp en Windows y ver a dónde iban las actualizaciones. Espero que esto te ayude.

No debe usar el GAC para resolver referencias. Debería encontrar las referencias apropiadas en algo como:  C: \ Archivos de programa \ Ensamblados de referencia \ Microsoft \ WindowsPowerShell

Es un mito común que los ensamblajes se resuelven en tiempo de diseño / construcción en el GAC. Antes de CLR 4.0, te salías con la tuya (porque 3.0 y 3.5 son realmente CLR 2.0). Con la verdadera orientación múltiple, esto se rompe. Como tal, siempre debe usar ensamblajes de referencia.

También tenga en cuenta que los ensamblados de referencia no tienen que contener ningún código. Pueden ser simplemente los metadatos del ensamblaje y los símbolos públicos.

Ah, y quería decir que la carga de fusión utiliza el GAC para la resolución de tiempo de ejecución.

Por tiempo de diseño / compilación, me refiero al momento en que está utilizando Visual Studio para compilar su aplicación, o está utilizando MSBuild para compilar su EXE. Durante la compilación, determinamos las referencias que se colocan en el EXE. Como puede haber varios CLR involucrados, debemos asegurarnos de que & "; Right &"; los de referencia.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top