Összetevők kimeneti elrendezése
A .NET 8 és újabb verzióiban lehetőség van a kimeneti útvonal és a mappaszerkezet egyszerűsítésére a buildkimenetek esetében. Az összes projekt összes buildkimenete egy közös helyre kerül, projekt szerint elválasztva. A gyakori helyek megkönnyítik az eszközök számára a kimenetek megtalálásának előrejelzését.
Alapértelmezés szerint a gyakori hely egy összetevőnek nevezett könyvtár a Directory.build.props fájl mellett. A gyökérösszetevők mappa alatti mappaszerkezet a következő:
📁 artifacts
└──📂 <Type of output>
└──📂 <Project name>
└──📂 <Pivot>
Az alábbi táblázat a mappastruktúra egyes szintjeihez tartozó alapértelmezett értékeket mutatja be. Felülbírálhatja az értékeket és az alapértelmezett helyet a Directory.build.props fájl tulajdonságaival.
Mappaszint | Leírás | Példák |
---|---|---|
Kimenet típusa | A buildkimenetek kategóriái, például bináris fájlok, köztes/generált fájlok, közzétett alkalmazások és NuGet-csomagok. | bin , obj , publish package |
Projekt neve | A kimenetet az egyes projektek szerint választja el. | MyApp |
Kimutatás | Különbséget tesz a különböző konfigurációkhoz, cél-keretrendszerekhez és futtatókörnyezet-azonosítókhoz készült projekt buildjei között. Ha több elemre van szükség, aláhúzás (aláhúzás_ ) csatlakozik hozzájuk. Az MSBuild tulajdonság használatával ArtifactsPivots testre szabható. |
debug , debug_net8.0 , release release_linux-x64 |
Példák
Az alábbi táblázat példákat mutat be a létrehozható útvonalakra.
Elérési út | Leírás |
---|---|
artifacts\bin\MyApp\debug | Egyszerű projekt buildelési kimeneti útvonala futtatáskor dotnet build . |
artifacts\obj\MyApp\debug | Egy egyszerű projekt köztes kimeneti elérési útja futtatáskor dotnet build . |
artifacts\bin\MyApp\debug_net8.0 | Több célzott projekt buildelési kimeneti útvonala net8.0 . |
artifacts\publish\MyApp\release_linux-x64 | Egy egyszerű alkalmazás közzétételi linux-x64 elérési útja a következőhöz való közzétételkor: . |
artifacts\package\MyApp\release | Az a mappa, amelyben a kiadás .nupkg létrehozása egy projekthez történik. |
Konfigurálás
A központi kimeneti elérési út formátumának használatához adja hozzá az alábbi MSBuild-tulajdonságok egyikét a Directory.Build.props fájlhoz:
Az alapértelmezett kimeneti hely használatához állítsa a tulajdonságot a
UseArtifactsOutput
következőretrue
: .<PropertyGroup> <UseArtifactsOutput>true</UseArtifactsOutput> </PropertyGroup>
Egyéni kimeneti hely beállításához adjon hozzá egy
ArtifactsPath
olyan tulajdonságot, amelynek értéke$(MSBuildThisFileDirectory)artifacts
(vagy bármi legyen is a mappa helye). Ha még nem rendelkezik Directory.Build.props fájllal, a következő parancs futtatásával automatikusan létrehozhat egy olyan fájlt, amely tartalmazza a tulajdonságotArtifactsPath
:dotnet new buildprops --use-artifacts
A létrehozott fájl a következőhöz hasonlóan néz ki:
<Project> <PropertyGroup> <ArtifactsPath>$(MSBuildThisFileDirectory)artifacts</ArtifactsPath> </PropertyGroup> </Project>
A "pivot" mappanév alapértelmezés szerint a cél-keretrendszerbeli moniker (TFM), a konfiguráció és a futtatókörnyezet azonosítója (RID) kombinációját adja. A nem jelen lévő elemeket a rendszer kihagyja. A "pivot" mappa elnevezésének testreszabásához állítsa az ArtifactsPivots
MSBuild tulajdonságot a kívánt sztringre. Példa:
<PropertyGroup>
...
<ArtifactsPivots>$(ArtifactsPivots)_MyCustomPivot</ArtifactsPivots>
</PropertyGroup>