Bagikan melalui


Atur proyek Anda untuk mendukung .NET Framework dan .NET

Anda dapat membuat solusi yang dikompilasi untuk .NET Framework dan .NET secara berdampingan. Artikel ini membahas beberapa opsi organisasi proyek untuk membantu Anda mencapai tujuan ini. Berikut adalah beberapa skenario umum yang perlu dipertimbangkan saat Anda memutuskan cara menyiapkan tata letak proyek Anda dengan .NET. Daftar mungkin tidak mencakup semua yang Anda inginkan.

  • Menggabungkan proyek dan proyek .NET yang ada ke dalam satu proyek

    Keuntungan:

    • Menyederhanakan proses build Anda dengan mengkompilasi satu proyek daripada beberapa proyek yang masing-masing menargetkan versi atau platform .NET Framework yang berbeda.
    • Menyederhanakan manajemen file sumber untuk proyek multi-target karena Anda harus mengelola satu file proyek. Saat menambahkan atau menghapus file sumber, alternatif mengharuskan Anda menyinkronkan file-file ini secara manual dengan proyek Anda yang lain.
    • Buat paket NuGet dengan mudah untuk dikonsumsi.
    • Memungkinkan Anda menulis kode untuk versi .NET Framework tertentu dengan menggunakan direktif kompilator.

    Kelemahan:

    • Mengharuskan pengembang untuk menggunakan Visual Studio 2019 atau versi yang lebih baru untuk membuka proyek yang ada. Untuk mendukung versi Visual Studio yang lebih lama, menyimpan file proyek Anda di folder yang berbeda adalah opsi yang lebih baik.
  • Pisahkan semua proyek

    Keuntungan:

    • Mendukung pengembangan pada proyek yang ada untuk pengembang dan kontributor yang mungkin tidak memiliki Visual Studio 2019 atau versi yang lebih baru.
    • Menurunkan kemungkinan pembuatan bug baru dalam proyek yang ada karena tidak ada churn kode yang diperlukan dalam proyek-proyek tersebut.

Pertimbangkan contoh repositori GitHub ini. Gambar di bawah ini menunjukkan bagaimana repositori ini ditata:

Existing project structure diagram

Bagian berikut menjelaskan beberapa cara untuk menambahkan dukungan untuk .NET berdasarkan repositori contoh.

Ganti proyek yang ada dengan proyek .NET multi-target

Susun ulang repositori sehingga file *.csproj yang ada dihapus dan satu file *.csproj dibuat yang menargetkan beberapa kerangka kerja. Ini adalah opsi yang bagus, karena satu proyek dapat dikompilasi untuk kerangka kerja yang berbeda. Ini juga memiliki kekuatan untuk menangani berbagai opsi kompilasi dan dependensi per kerangka kerja yang ditargetkan.

project that targets multiple frameworks diagram

Misalnya kode, lihat GitHub.

Perubahan pada catatan adalah:

  • Penggantian packages.config dan *.csproj dengan .NET *.csproj baru. Paket NuGet ditentukan dengan <PackageReference> ItemGroup.

Pertahankan proyek yang ada dan buat proyek .NET

Jika ada proyek yang menargetkan kerangka kerja lama, Anda mungkin ingin membiarkan proyek ini tidak tersentuh dan menggunakan proyek .NET untuk menargetkan kerangka kerja di masa mendatang.

.NET project with existing projects in a different folder diagram

Misalnya kode, lihat GitHub.

.NET dan proyek yang ada disimpan dalam folder terpisah. Menyimpan proyek di folder terpisah menghindari memaksa Anda untuk memiliki Visual Studio 2019 atau versi yang lebih baru. Anda dapat membuat solusi terpisah yang hanya membuka proyek lama.

Lihat juga