StyleCop 4.4 работает внутри VS.NET 2010, но не из командной строки MSBuild - PullRequest
2 голосов
/ 27 мая 2010

Мы видим очень странные результаты, когда StyleCop правильно сообщает о нарушениях при запуске из Visual Studio 2010. Однако, когда мы запускаем msbuild в командной строке (например, «MSBuild.exe mySolution.sln»), он сообщает «Нет нарушений» встречаются ", когда явно присутствуют те же нарушения, что и при запуске его в Visual Studio. Это ошибка в последней версии StyleCop? Или в 2010 году интеграция? Есть ли что-нибудь, что вы можете рассказать мне о возможных различиях с StyleCop, выполняемым из VS.NET по сравнению с командной строкой MSBuild? Спасибо.

1 Ответ

1 голос
/ 21 июля 2010

Я понял проблему на свой вопрос.Настройка для этого заключалась в том, что внутри нашего файла csproj у нас было следующее:

<Import Project="..\..\lib\StyleCop\Microsoft.StyleCop.targets" />

, что является небольшим отличием от того, что Microsoft показывает здесь , где они это делают:

<Import Project="$(ProgramFiles)\MSBuild\Microsoft\StyleCop\v4.3\Microsoft.StyleCop.targets" />

Но все еще должно работать.Проблема заключалась в том, что в нашей папке lib \ StyleCop у нас было только:

  • Microsoft.StyleCop.Targets
  • Microsoft.StyleCop.dll

Мыотсутствовали:

  • Microsoft.StyleCop.CSharp.dll
  • Microsoft.StyleCop.CSharp.Rules.dll

, которые обнаруживаются динамически.После того, как мы добавили эти 2 других файла в нашу папку lib \ StyleCop, теперь все отлично работает с MSBuild.Это позволяет нам использовать StyleCop без того, чтобы каждый разработчик, выполняющий программу установки, помещал двоичные файлы в каталог ProgramFiles.Это также означает, что нам не нужно запускать установщик на сервере сборки.

...