Следующие проекты не имеют действительного ProjectGuid и не были построены с использованием действительного решения (.sln), поэтому будут пропущены из анализа
При создании основного проекта dotnet с помощью SonarQube вы можете столкнуться с ошибкой в журнале:
ВНИМАНИЕ: Следующие проекты не имеют действительного ProjectGuid и не были построены с использованием правильного решения (.sln), поэтому будут пропущены из анализа...
Что вы должны сделать?
Ответы
Ответ 1
Поскольку в проектах ядра dotnet (.csproj) не будет <ProjectGuid>...</ProjectGuid>
указанного в шаблоне по умолчанию, это необходимо добавить вручную.
Поэтому вам нужно отредактировать файл.csproj следующим образом:
<PropertyGroup>
<!-- other properties here -->
<!-- SonarQube needs this -->
<ProjectGuid>{E2CEBBAF-6DF7-41E9-815D-9AD4CF90C844}</ProjectGuid>
Не забудьте разместить свой собственный GUID внутри <ProjectGuid>...</ProjectGuid>
Ответ 2
Здесь решение для добавления недостающих элементов XML в powershell.
$paths = Get-ChildItem -include *.csproj -Recurse
foreach($pathobject in $paths)
{
$path = $pathobject.fullname
$doc = New-Object System.Xml.XmlDocument
$doc.Load($path)
$child = $doc.CreateElement("ProjectGuid")
$child.InnerText = "{"+[guid]::NewGuid().ToString().ToUpper()+"}"
$node = $doc.SelectSingleNode("//Project/PropertyGroup")
$node.AppendChild($child)
$doc.Save($path)
}