Ö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, publishpackage
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, releaserelease_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-x64elé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 választásá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őre true: .

    <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ágot ArtifactsPath :

    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>