Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In .NET 8 en latere versies is er een optie om het uitvoerpad en de mapstructuur voor build-uitvoer te vereenvoudigen. Alle build-uitvoer van alle projecten wordt verzameld op een gemeenschappelijke locatie, gescheiden door project. Een veelvoorkomende locatie maakt het eenvoudig om te anticiperen op waar de uitvoer moet worden gevonden.
De algemene locatie is standaard een map met de naam artefacten naast het bestand Directory.build.props . De mapstructuur onder de map hoofdartefacten is als volgt:
📁 artifacts
└──📂 <Type of output>
└──📂 <Project name>
└──📂 <Pivot>
In de volgende tabel ziet u de standaardwaarden voor elk niveau in de mapstructuur. U kunt de waarden en de standaardlocatie overschrijven met behulp van eigenschappen in het bestand Directory.build.props .
| Mapniveau | Beschrijving | Voorbeelden |
|---|---|---|
| Type uitvoer | Categorieën build-uitvoer, zoals binaire bestanden, tussenliggende/gegenereerde bestanden, gepubliceerde toepassingen en NuGet-pakketten. |
bin, , , objpublishpackage |
| Projectnaam† | De uitvoer wordt gescheiden door elk project. | MyApp |
| Draaipunt | Onderscheid tussen builds van een project voor verschillende configuraties, doelframeworks en runtime-id's. Als er meerdere elementen nodig zijn, worden ze samengevoegd met een onderstrepingsteken (_). Kan worden aangepast met behulp van de ArtifactsPivots eigenschap MSBuild. |
debug, , , debug_net8.0releaserelease_linux-x64 |
† De submap projectnaam wordt weggelaten voor pakketuitvoerpaden. Bovendien bevat de draai-submap alleen de configuratie-instellingen.
Voorbeelden
In de volgende tabel ziet u voorbeelden van paden die kunnen worden gemaakt.
| Pad | Beschrijving |
|---|---|
| artifacts\bin\MyApp\debug | Het uitvoerpad van de build voor een eenvoudig project wanneer u uitvoert dotnet build. |
| artifacts\obj\MyApp\debug | Het tussenliggende uitvoerpad voor een eenvoudig project wanneer u uitvoert dotnet build. |
| artefacten\bin\MyApp\debug_net8.0 | Het uitvoerpad voor de build voor de net8.0 build van een project met meerdere doelgroepen. |
| artefacten\publish\MyApp\release_linux-x64 | Het publicatiepad voor een eenvoudige app bij het publiceren voor linux-x64. |
| artifacts\package\release | De map waarin de release .nupkg wordt gemaakt voor een project. |
Configureren
Als u zich wilt aanmelden voor de gecentraliseerde indeling van het uitvoerpad, voegt u een van de volgende MSBuild-eigenschappen toe aan het bestand Directory.Build.props :
Als u de standaarduitvoerlocatie wilt gebruiken, stelt u de
UseArtifactsOutputeigenschap in optrue.<PropertyGroup> <UseArtifactsOutput>true</UseArtifactsOutput> </PropertyGroup>Als u een aangepaste uitvoerlocatie wilt instellen, voegt u een
ArtifactsPatheigenschap toe met een waarde van$(MSBuildThisFileDirectory)artifacts(of wat u wilt dat de maplocatie is). Als u nog geen bestand Directory.Build.props hebt, kunt u de volgende opdracht uitvoeren om automatisch een bestand te genereren dat deArtifactsPatheigenschap bevat:dotnet new buildprops --use-artifactsHet gegenereerde bestand ziet er ongeveer als volgt uit:
<Project> <PropertyGroup> <ArtifactsPath>$(MSBuildThisFileDirectory)artifacts</ArtifactsPath> </PropertyGroup> </Project>
De mapnaam 'pivot' is standaard ingesteld op een combinatie van target framework moniker (TFM), configuratie en runtime-id (RID). Alle aanwezigen worden weggelaten. Als u wilt aanpassen hoe de map pivot heet, stelt u de ArtifactsPivots eigenschap MSBuild in op de gewenste tekenreeks. Voorbeeld:
<PropertyGroup>
...
<ArtifactsPivots>$(ArtifactsPivots)_MyCustomPivot</ArtifactsPivots>
</PropertyGroup>