2012-01-17 17 views
6

Estoy usando OpenXMLSDK para manipular algunos DOCX. Estoy intentando compilar la fuente OpenXML Power Tools para obtener ayuda con esto. Leí que necesitaba instalar MS Power Shell para compilar (para el uso de cmdlets), así que lo descargué de here. La primera opción, Windows Management Framework 3.0 CTP1. Sigo teniendo problemas con la clase OutpuTypeAttribute. No está disponible en mi código. MSDN dice que está en el espacio de nombres System.Management.Automation, que estoy 'usando'. Todavía recibo este mensaje de error para cualquier referencia a esta clase:Compilación de problemas con OpenXML Power Tools: 'OutputTypeAttribute' no se pudo encontrar

"No se encontró el tipo o el nombre del espacio de nombres 'OutputTypeAttribute' (¿falta una directiva using o una referencia de ensamblado?)".

Entonces, ¿alguien sabe lo que está pasando aquí?

Por cierto, estoy en Windows 7 y utilizando VS 2010.

+0

Windows 7 ya tiene PowerShell 2.0. Ha descargado una vista previa técnica de la comunidad anterior de una próxima versión inédita de PowerShell. Esto podría estar agregando a su problema ... –

+0

@AndyArismendi Tuve los mismos problemas antes de instalar esa versión de PowerShell. –

Respuesta

4

Por alguna razón, C: \ Program Files \ Reference Assemblies \ Microsoft \ WindowsPowerShell \ v1.0 \ System.Management.Automation.dll era una versión anterior y nunca se actualizó.

Lo que hice fue lo siguiente: En un PowerShell que ejecuta este comando:

Copy ([OutputType].Assembly.Location) ~/Desktop 

Luego se trasladó el archivo DLL que se copia en el escritorio en el directorio de conjuntos de referencia se muestra arriba. Este nuevo archivo es aproximadamente 3mb más grande que el archivo anterior. También tuve que convertir mi proyecto a .NET 4 porque esta nueva DLL lo requería.

2

no sé si se puede evitar System.Management.Automation puede ser referenciado desde dos lugares:

Para 64 bits:

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

para 32 bits:

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

recuerdo que yo utilizo para tener una especie de simila error al usar uno en lugar del otro.

Cuestiones relacionadas