Layout de sortie d’artefacts
Dans .NET 8 et versions ultérieures, il existe une option permettant de simplifier le chemin de sortie et la structure de dossiers pour les sorties de build. Toutes les sorties de build de tous les projets sont collectées dans un emplacement commun, séparés par projet. Un emplacement courant facilite l’utilisation d’outils pour anticiper où trouver les sorties.
Par défaut, l’emplacement commun est un répertoire nommé artefacts à côté de fichier Directory.build.props. La structure de dossiers sous le dossier d’artefacts racine est la suivante :
📁 artifacts
└──📂 <Type of output>
└──📂 <Project name>
└──📂 <Pivot>
Le tableau suivant montre les valeurs par défaut pour chaque niveau de la structure de dossiers. Vous pouvez remplacer les valeurs, ainsi que l’emplacement par défaut, à l’aide de propriétés dans le fichier Directory.build.props.
Niveau dossier | Description | Exemples |
---|---|---|
Type de sortie | Catégories de sorties de build, telles que les fichiers binaires, les fichiers intermédiaires/générés, les applications publiées et les packages NuGet. | bin , obj , publish , package |
Nom du projet | Sépare la sortie par chaque projet. | MyApp |
Tableau croisé dynamique | Fait la distinction entre les builds d’un projet pour différentes configurations, frameworks cibles et identificateurs d’exécution. Si plusieurs éléments sont nécessaires, ils sont joints par un trait de soulignement (_ ). Peut être personnalisé à l’aide de la propriété MSBuild ArtifactsPivots . |
debug , debug_net8.0 , release , release_linux-x64 |
Exemples
Le tableau suivant présente des exemples de chemins d’accès qui peuvent être créés.
Path | Description |
---|---|
artifacts\bin\MyApp\debug | Le chemin de sortie de build pour un projet simple lorsque vous exécutez dotnet build . |
artifacts\obj\MyApp\debug | Le chemin de sortie intermédiaire d’un projet simple lorsque vous exécutez dotnet build . |
artifacts\bin\MyApp\debug_net8.0 | Le chemin de sortie de build pour la génération net8.0 d’un projet multi-ciblé. |
artifacts\publish\MyApp\release_linux-x64 | Le chemin de publication d’une application simple lors de la publication pour linux-x64 . |
artifacts\package\MyApp\release | Dossier dans lequel le fichier .nupkg release est créé pour un projet. |
Comment configurer
Pour choisir le format de chemin de sortie centralisé, ajoutez l’une des propriétés MSBuild suivantes à votre fichier Directory.Build.props :
Pour utiliser l’emplacement de sortie par défaut, définissez la propriété
UseArtifactsOutput
surtrue
.<PropertyGroup> <UseArtifactsOutput>true</UseArtifactsOutput> </PropertyGroup>
Pour définir un emplacement de sortie personnalisé, ajoutez une propriété
ArtifactsPath
avec une valeur$(MSBuildThisFileDirectory)artifacts
(ou tout ce que vous souhaitez que l’emplacement du dossier soit). Si vous n’avez pas encore de fichier Directory.Build.props, vous pouvez exécuter la commande suivante pour générer automatiquement un fichier qui contient la propriétéArtifactsPath
:dotnet new buildprops --use-artifacts
Le fichier généré ressemble à ceci :
<Project> <PropertyGroup> <ArtifactsPath>$(MSBuildThisFileDirectory)artifacts</ArtifactsPath> </PropertyGroup> </Project>
Le nom du dossier « pivot » est défini par défaut sur une combinaison de moniker de framework cible (TFM), de configuration et d’identificateur d’exécution (RID). Tout ce qui n’est pas présent n’est pas omis. Pour personnaliser le nom du dossier « pivot », définissez la propriété MSBuild ArtifactsPivots
sur votre chaîne souhaitée. Par exemple :
<PropertyGroup>
...
<ArtifactsPivots>$(ArtifactsPivots)_MyCustomPivot</ArtifactsPivots>
</PropertyGroup>