#visual-studio-2010 #msbuild #fxcop #post-build-event #fxcopcmd
#visual-studio-2010 #msbuild #fxcop #событие после сборки #fxcopcmd
Вопрос:
Я пытаюсь запустить и запустить событие post-build, которое получит содержимое предупреждений / ошибок FxCop в список ошибок
Это моя командная строка события после сборки:
"$(ProgramFiles)Microsoft FxCop 10.0FxCopCmd.exe" /file:"$(TargetPath)" /console
Я преуспел в этом отношении, но в столбце Location ошибки просто говорят [Location not stored in Pdb]
, что это не то, что я ищу. Соответствующий файл PDB присутствует.
Я реализовал шаги здесь, но это для предыдущей версии FxCop, и это не решило проблему.
Я использую Visual Studio 2010 Professional.
Вот пример окна списка ошибок:
TIA
Ответ №1:
Есть ли файл PDB, доступный для целевой сборки, в той же папке? Если нет, вам необходимо сгенерировать и / или скопировать файл PDB, чтобы он был доступен для FxCp.
Если у вас уже есть файл PDB, присутствующий в правильном расположении, возможно, вы просто столкнулись с нарушениями правил, для которых в файле PDB законно отсутствует какая-либо информация о контексте источника. Если вы не уверены, так ли это, не могли бы вы привести пример нарушения, для которого информация о контексте источника отсутствует, хотя вы считаете, что она должна быть доступна?
Комментарии:
1. В той же папке, что и DLL, находится файл PDB. Я обновлю вопрос дополнительной информацией.
2. Файлы PDB содержат только информацию об исходном контексте для исполняемого кода. Интерфейсы не являются исполняемыми, поэтому в файле PDB нет информации о контексте источника для их членов, и следует ожидать результатов, которые вы показали в своем обновленном вопросе. (Анализ кода Visual Studio может предоставить информацию об исходном контексте для тех же нарушений, поскольку в нем имеется дополнительная информация (т. Е. Фактический исходный код) для разрешения целевых контекстов, которые не содержатся в файле PDB.)