2016-06-15 3 views
17

У SonarQube есть бегун MSBuild, но .NET Core использует dotnet.exe для компиляции и msbuild просто обертывает это. Я пробовал использовать бегун MSBuild без успеха против моего решения ASP.NET Core. Использование SonarQube Scanner работает.Запуск SonarQube против решения ASP.NET Core/проект

Любые предложения о том, как я могу использовать SonarQube с .NET Core? Статический анализ кода - это то, что я ищу.

+0

Учитывая, что мне даже не удалось использовать Visual Studio для анализа кода, я думаю, нам просто нужно подождать и надеяться на версию 1.1, когда msbuild будет использоваться снова ... – peter

+0

на сегодня, если вы создаете с помощью msbuild с xproj, это только обернется вызовом для построения dotnet. Это не позволяет правилам SQ следовать за ним, и когда бегун msbuild запускает его, как никакой сборки для него. – baywet

+0

Копание вокруг него даже не возможно использовать sonarlint для связывания основных проектов asp.net и работы по статическому анализу в VS. Думаю, им придется внедрить новый бегун + адаптировать текущий плагин сонарлайнта. – baywet

ответ

1

кажется .NET ядро ​​переходит из project.json использовать .csproj и MSBuild. Это может быть доступно в .NET Core 1.1 или аналогичном. В то время можно было бы использовать MSBuild для создания проектов, и у SonarQube будет выбор.

См: https://blogs.msdn.microsoft.com/dotnet/2016/05/23/changes-to-project-json/

ли это хорошая вещь или нет, еще неизвестно, я думаю.

Также смотрите эту ссылку для возможного решения проблемы использовать MSBuild для построения проектов .NET Ключевых в то же время (я не проверял еще): https://docs.microsoft.com/en-us/dotnet/articles/core/tutorials/target-dotnetcore-with-msbuild

Ядра инструментов .NET собираются перейти от project.json для проектов на базе MSBuild. Мы ожидаем, что первая версия инструментов .NET Core, использующих MSBuild, будет поставляться вместе со следующей версией Visual Studio. Тем не менее, сегодня можно использовать MSBuild для .NET Core, и эта страница показывает, как это сделать.

+0

Кажется, что последняя вещь в ядре net net - проект.json для разработчиков без Visual Studio, + xproj для разработчиков визуальных студий, + csproj, если вы делаете проекты типа купола (например, xamarin или так) https: // github .com/aspnet/Home/issues/1451 – baywet

+0

ссылка на документацию, которая указывает, что «специальные» проекты используют csproj https://docs.microsoft.com/en-us/dotnet/articles/core/tutorials/target-dotnetcore- with-msbuild – baywet

2

С .csproj Теперь будучи de-facto format из .Net Ключевых решения, поддержка SonarQube таких решений поставляется с SonarQube Scanner for MSBuild v2.3.

+0

В документах есть одна важная часть информации. ¿Какая версия MSBuild должна быть связана? Для меня мой проект был .NET 4.6.1 с использованием MSBuild 15.0. Мне просто нужно было правильно установить MSBuild с помощью нового PATH. Я так и был. –

0

Я смог получить сборки .NET Core, работающие от the procedure on their site, с двумя вещами, которые я хотел бы указать, и hellip ;.

  • При запуске SonarQube.Scanner.MSBuild.exe командной строки, вы должны находиться в том же каталоге, что и файл проекта, и каталог команды конца местоположение должно совпадать с началом.
  • Когда в инструкциях указано, что вы должны изменить sonar.host.url, чтобы указать на ваш сервер, вы должны должен расколоть весь раздел файла перед тем, как внести изменения. В противном случае вы только что вставили свой сервер в строку sonar.host.url, которая мертва, потому что она закомментирована. Это заставило меня зайти некоторое время, прежде чем я действительно посмотрел & hellip ;.
Смежные вопросы