FxCop не может разрешить ссылки

Я работаю над проектом на C #. Теперь я настроил сервер Hudson и установил на нем .NET 4 Framework и Windows SDK 7.1.

Проект успешно строится, но когда я запускаю FxCop с:

"C:\Program Files (x86)\Microsoft FxCop 1.35\fxcopcmd.exe" /file:CommonServiceTool\bin\Release /out:fxcop-result.xml

Он загружает все файлы правил .dll, и после этого происходят следующие исключения:

Using system files at: C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319.
Could not resolve reference to PresentationFramework.
Could not resolve reference to PresentationCore.
Could not resolve reference to WindowsBase.
12 exceptions occurred while loading Project1.
   00) Could not resolve type reference: [PresentationFramework]System.Windows.StartupEventArgs.
   01) Could not resolve type reference: [PresentationFramework]System.Windows.Window.
   02) Could not resolve type reference: [PresentationFramework]System.Windows.Controls.HeaderedContentControl.
   03) Could not resolve type reference: [PresentationCore]System.Windows.Input.ICommand.
   04) Could not resolve member reference: System.Windows.ThemeInfoAttribute::.ctor.

... and so on...

Я использую WPF в проекте и думаю, что FxCop не может найти библиотеки WPF. Может ли кто-нибудь помочь мне в этом?


person CoolKiffings    schedule 05.09.2012    source источник
comment
хмммм пахнет проблемой 32/64 бит ....   -  person Preet Sangha    schedule 05.09.2012


Ответы (4)


Убедитесь, что проект -> Параметры ... - Орфография и анализ -> "Поиск в глобальном кэше сборок на предмет отсутствующих ссылок" отмечен (согласно FxCop и GAC Madness).

person akton    schedule 05.09.2012
comment
есть ли для этого опция командной строки? Я использую только fxcopcmd.exe - person CoolKiffings; 05.09.2012
comment
Из msdn.microsoft.com/en-us/ library / bb429449 (v = vs.80) .aspx, вы можете использовать параметр /directory для каждого каталога (поскольку GAC хранит каждую папку отдельно). Либо установите для параметра Copy Local значение true для каждой сборки, на которую указывает ссылка, при построении проекта. Не идеален но хоть все сборки локально потянет. - person akton; 05.09.2012
comment
Я попытался проверить глобальный кэш сборок поиска на отсутствие ссылок, но ничего не изменилось. Не хочу копировать ссылки на проект. Нет другого способа исправить это? Или мне нужно установить полную версию MSVS на сервере. Наш админ не хочет его устанавливать, я тоже. - person CoolKiffings; 05.09.2012
comment
@CoolKiffings Это происходит на других компьютерах или только на сервере Hudson? - person akton; 05.09.2012
comment
на обоих. Если я использую fxcopcmd.exe на моем компьютере разработчика, это тоже происходит - person CoolKiffings; 05.09.2012
comment
@CoolKiffings Имеет ли для ссылок на сборку значение Specific Version значение true? Если это так, попробуйте установить для него значение false. - person akton; 05.09.2012
comment
позвольте нам продолжить обсуждение в чате - person CoolKiffings; 05.09.2012

Вы запускаете fxcopcmd.exe напрямую или через плагин? В первом случае попробуйте добавить переключатель командной строки /gac. Если вы используете бегуна-посредника, что это такое?

person Nicole Calinoiu    schedule 05.09.2012
comment
Я установил FxCop на наш Hudson CI Server. Там я запускаю пакетную команду с помощью fxcopcmd. Запуск с / gac не решает проблемы. - person CoolKiffings; 11.09.2012
comment
Была такая же проблема, проблемы с разрешением ссылки на систему - добавление переключателя / gac в командную строку исправило ее. - person Greg Smith; 04.01.2013

У меня была аналогичная проблема с fxcopcmd V12. Я смог решить эту проблему, явно добавив

/reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\WindowsBase.dll"

См .: Исключение движка FxCop в сборке WPF < / а>

person Harry B.    schedule 21.07.2014

Ладно, я понял!

FxCop 1.35 не работает с WPF. Теперь я установил FxCop 10.0. Теперь это работает. Но всем спасибо за помощь!

person CoolKiffings    schedule 13.09.2012