Анализ FxCop не находит сборок с косвенными ссылками — проблема GAC?

Я запускаю свою DLL против FxCop, и она возвращает проблемы, как показано на изображении здесь (она также жалуется на System.Windows.Browser и System.Core, те же версии):

Непрямая проблема сборки

Я сказал FxCop провести поиск в GAC, и это не помогает. У меня есть ссылка на System.Runtime.Serialization в моем проекте, но она отображается как версия 4.0.0.0. Я нигде не вижу именно эту версию файла.

Хотя я могу пропустить, это означает, что он не работает, когда я использую FxCop Integrator в Visual Studio, и я не знаю, что произойдет, если я попытаюсь интегрироваться в автоматическую сборку.

Но более того, мне любопытно, как вы это исправите, поскольку мне не нравится не понимать, что не так.


person Firedragon    schedule 25.11.2011    source источник


Ответы (2)


Библиотеки BCL версии 2.0.5.0 являются частью Silverlight 4, который, по-видимому, не установлен на вашей машине разработки. Поскольку вы предположительно не используете части сборки Esri.ArgGIS.Client.dll, предназначенные для Silverlight, вы, вероятно, можете спокойно игнорировать это предупреждение.

Кажется, у FxCop Integrator есть открытый вопрос относительно этой проблемы, поэтому у вас есть три основных варианта:

  1. Оставьте все как есть и надейтесь, что в FxCop Integrator достаточно скоро появится возможность игнорировать эти предупреждения.
  2. Прекратите использовать FxCop Integrator или
  3. Установите Сильверлайт 4.

Для автоматизированных сборок поведение будет зависеть от вашей платформы сборки. Вместо того, чтобы пытаться угадать, что может произойти при автоматической сборке, почему бы вам не попробовать?

person Nicole Calinoiu    schedule 25.11.2011
comment
Я не могу установить Silverlight 4 одновременно с 5 (разве есть способ сделать это?), так что похоже, что это просто то, с чем мне приходится мириться, и я могу использовать сам FxCop, а не интегратор. Что касается строительства, я этим не занимаюсь, но хотел посмотреть, смогу ли я получить некоторые предварительные знания для человека, который этим занимается, но я думаю, что могу оставить это как вызов для них :-) - person Firedragon; 25.11.2011
comment
Если вы на самом деле используете Silverlight 5 с материалами ESRI, вы можете попробовать указать аргумент /platform в командной строке fxcopcmd.exe. Это может позволить FxCop заменить сборки Silverlight 5 там, где это необходимо, хотя я должен признать, что сам никогда не пробовал это делать для зависимостей Silverlight. - person Nicole Calinoiu; 25.11.2011

Пожалуйста, взгляните на этот ответ: https://stackoverflow.com/a/20799480/698

Возможно, вы все еще используете FxCop 10.0, который не обрабатывает эту ситуацию с PCL.

Как только я переключился на использование двоичных файлов VS.NET 2012 или VS.NET 2013 FxCop, все снова заработало.

Вы включили скриншот в вопрос. К сожалению, FxCop11 и FxCop12 не поставляются с версией пользовательского интерфейса (поскольку он интегрирован в VS.NET).

person slolife    schedule 19.03.2014