Bagikan melalui


Tata letak output artefak

Di .NET 8 dan versi yang lebih baru, ada opsi untuk menyederhanakan jalur output dan struktur folder untuk output build. Semua output build dari semua proyek dikumpulkan ke lokasi umum, dipisahkan oleh proyek. Lokasi umum memudahkan alat untuk mengantisipasi tempat menemukan output.

Secara default, lokasi umum adalah direktori bernama artefak di samping file Directory.build.props . Struktur folder di bawah folder artefak akar adalah sebagai berikut:

📁 artifacts
    └──📂 <Type of output>
        └──📂 <Project name>
            └──📂 <Pivot>

Tabel berikut ini memperlihatkan nilai default untuk setiap tingkat dalam struktur folder. Anda dapat mengambil alih nilai, serta lokasi default, menggunakan properti dalam file Directory.build.props .

Tingkat folder Deskripsi Contoh
Jenis output Kategori output build, seperti biner, file menengah/yang dihasilkan, aplikasi yang diterbitkan, dan paket NuGet. bin, , objpublish,package
Nama proyek Memisahkan output oleh setiap proyek. MyApp
Pivot Membedakan antara build proyek untuk konfigurasi, kerangka kerja target, dan pengidentifikasi runtime yang berbeda. Jika diperlukan beberapa elemen, elemen tersebut digabungkan oleh garis bawah (_). Dapat disesuaikan menggunakan ArtifactsPivots properti MSBuild. debug, , debug_net8.0release,release_linux-x64

Contoh

Tabel berikut ini memperlihatkan contoh jalur yang mungkin dibuat.

Jalur Deskripsi
artefak\bin\MyApp\debug Jalur output build untuk proyek sederhana saat Anda menjalankan dotnet build.
artefak\obj\MyApp\debug Jalur output perantara untuk proyek sederhana saat Anda menjalankan dotnet build.
artefak\bin\MyApp\debug_net8.0 Jalur output build untuk net8.0 build proyek multi-target.
artefak\publish\MyApp\release_linux-x64 Jalur penerbitan untuk aplikasi sederhana saat menerbitkan untuk linux-x64.
artefak\package\MyApp\release Folder tempat .nupkg rilis dibuat untuk proyek.

Cara mengonfigurasi

Untuk memilih format jalur output terpusat, tambahkan salah satu properti MSBuild berikut ke file Directory.Build.props Anda:

  • Untuk menggunakan lokasi output default, atur properti ke UseArtifactsOutputtrue.

    <PropertyGroup>
      <UseArtifactsOutput>true</UseArtifactsOutput>
    </PropertyGroup>
    
  • Untuk mengatur lokasi output kustom, tambahkan ArtifactsPath properti dengan nilai $(MSBuildThisFileDirectory)artifacts (atau apa pun yang Anda inginkan untuk lokasi folder). Jika Anda belum memiliki file Directory.Build.props , Anda dapat menjalankan perintah berikut untuk membuat file yang berisi ArtifactsPath properti secara otomatis:

    dotnet new buildprops --use-artifacts
    

    File yang dihasilkan terlihat mirip dengan ini:

    <Project>
      <PropertyGroup>
        <ArtifactsPath>$(MSBuildThisFileDirectory)artifacts</ArtifactsPath>
      </PropertyGroup>
    </Project>
    

Nama folder "pivot" default ke kombinasi moniker kerangka kerja target (TFM), konfigurasi, dan pengidentifikasi runtime (RID). Semua yang tidak ada dihilangkan. Untuk menyesuaikan bagaimana folder "pivot" dinamai, atur ArtifactsPivots properti MSBuild ke string yang Anda inginkan. Misalnya:

<PropertyGroup>
  ...
  <ArtifactsPivots>$(ArtifactsPivots)_MyCustomPivot</ArtifactsPivots>
</PropertyGroup>