Lorsque vous créez un projet de base dotnet avec SonarQube, vous pouvez être confronté à l'erreur dans le journal:
AVERTISSEMENT: Les projets suivants n'ont pas de ProjectGuid valide et n'ont pas été construits à l'aide d'une solution valide (.sln) donc seront ignorés de l'analyse ...
Que devrais tu faire?
Comme les projets centraux dotnet (.csproj) n'auront pas <ProjectGuid>...</ProjectGuid>
balise spécifiée dans le modèle par défaut, elle doit être ajoutée manuellement.
Vous devez donc modifier le fichier .csproj comme ceci:
<PropertyGroup>
<!-- other properties here -->
<!-- SonarQube needs this -->
<ProjectGuid>{E2CEBBAF-6DF7-41E9-815D-9AD4CF90C844}</ProjectGuid>
Assurez-vous de placer votre propre GUID à l'intérieur du <ProjectGuid>...</ProjectGuid>
Tag
Voici une solution pour ajouter les éléments xml manquants dans 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)
}