Проблема с компиляцией OpenXML Power Tools: «OutputTypeAttribute» не найден - PullRequest
6 голосов
/ 17 января 2012

Я использую OpenXMLSDK для некоторых манипуляций с DOCX.Я пытаюсь скомпилировать исходный код OpenXML Power Tools для помощи с этим.Я прочитал, что мне нужно установить MS Power Shell для этого для компиляции (для его использования Cmdlets), поэтому я скачал его с здесь .Первый вариант, Windows Management Framework 3.0 CTP1.У меня все еще есть проблемы с классом OutpuTypeAttribute.Это не доступно в моем коде. MSDN говорит, что это в пространстве имен System.Management.Automation, которое я «использую».Я все еще получаю это сообщение об ошибке для любых ссылок на этот класс:

"Не удалось найти тип или имя пространства имен 'OutputTypeAttribute' (отсутствует директива using или ссылка на сборку?)".

Итак, кто-нибудь знает, что здесь происходит?

Кстати, я на Windows 7 и использую VS 2010.

Ответы [ 2 ]

4 голосов
/ 18 января 2012

По какой-то причине C: \ Program Files \ Reference Assemblies \ Microsoft \ WindowsPowerShell \ v1.0 \ System.Management.Automation.dll была старой версией и никогда не обновлялась.

То, что я сделал, было так: В PowerShell я выполнил эту команду:

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

Затем я переместил файл dll, который копируется на рабочий стол, в каталог Reference Assemblies, показанный выше. Этот новый файл примерно на 3 МБ больше, чем старый файл. Мне также пришлось преобразовать мой проект в .NET 4, потому что это требовалось для этой новой DLL.

2 голосов
/ 17 января 2012

Я не знаю, может ли это помочь, но на System.Management.Automation можно ссылаться из двух мест:

Для 64 бит:

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

Для 32 бит:

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

Я помню, что использую что-то вроде подобной ошибки, используя одну вместо другой.

...