Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Memasukkan Ketergantungan NuGet dalam DLL Pemalam Teras .NET Saya?

Bagaimanakah Saya Memasukkan Ketergantungan NuGet dalam DLL Pemalam Teras .NET Saya?

Barbara Streisand
Barbara Streisandasal
2025-01-10 17:57:42214semak imbas

How Do I Include NuGet Dependencies in My .NET Core Plugin DLLs?

Mengedarkan Pakej NuGet dengan .NET Core Plugin DLL

Membangunkan seni bina pemalam dengan .NET Core memerlukan pengedaran pemalam DLL dan kebergantungannya untuk pemasangan pengguna yang lancar. Binaan Teras .NET standard, walau bagaimanapun, tidak termasuk kebergantungan NuGet secara automatik.

Penyelesaian: Mengubah suai Fail .csproj

Untuk memasukkan kebergantungan ini, laraskan fail projek anda (.csproj) seperti berikut:

  1. Cari bahagian <PropertyGroup> dalam fail .csproj anda.
  2. Di dalam <PropertyGroup>, tambahkan baris ini:
<code class="language-xml"><CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies></code>

Ini memastikan pakej NuGet disalin ke direktori output binaan.

Pertimbangan Penting: Bina Output lwn. Deployment

Walaupun mudah untuk ujian tempatan, menyalin terus pakej NuGet ke output binaan tidak sesuai untuk pengedaran. Untuk mencipta artifak boleh digunakan, sentiasa gunakan perintah dotnet publish.

Penyelesaian yang Lebih Teguh: Menggunakan DependencyContext API

Alternatif yang lebih fleksibel dan mudah alih mengelakkan daripada membenamkan pakej NuGet secara terus. Manfaatkan API DependencyContext untuk menyelesaikan lokasi DLL secara dinamik pada masa jalan daripada graf pergantungan aplikasi. Ini menawarkan pendekatan yang lebih bersih dan boleh diselenggara untuk mengendalikan kebergantungan.

Atas ialah kandungan terperinci Bagaimanakah Saya Memasukkan Ketergantungan NuGet dalam DLL Pemalam Teras .NET Saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn