Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Penyebaran aplikasi mandiri .NET Core mencakup pustaka .NET Core dan runtime .NET Core. Mulai dari .NET Core 2.1 SDK (versi 2.1.300), penyebaran aplikasi mandiri menerbitkan runtime patch tertinggi di komputer Anda. Secara default, dotnet publish untuk penyebaran mandiri memilih versi terbaru yang diinstal sebagai bagian dari SDK pada mesin penerbitan. Ini memungkinkan aplikasi yang Anda sebarkan untuk berjalan dengan perbaikan keamanan (dan perbaikan lainnya) yang tersedia selama publish. Aplikasi harus diterbitkan ulang untuk mendapatkan patch baru. Aplikasi mandiri dibuat dengan menentukan -r <RID> pada dotnet publish perintah atau dengan menentukan pengidentifikasi runtime (RID) dalam file proyek (csproj / vbproj) atau pada baris perintah.
Gambaran umum pembaruan penerusan versi patch
restore, build dan publish adalah dotnet perintah yang dapat berjalan secara terpisah. Pilihan runtime adalah bagian restore dari operasi, bukan publish atau build. Jika Anda memanggil publish, versi patch terbaru akan dipilih. Jika Anda memanggil publish dengan argumen --no-restore, maka Anda mungkin tidak mendapatkan versi patch yang diinginkan karena sebelumnya restore mungkin belum dijalankan dengan kebijakan penerbitan aplikasi mandiri yang baru. Dalam hal ini, kesalahan build dihasilkan dengan teks yang mirip dengan yang berikut ini:
"Proyek dipulihkan menggunakan Microsoft.NETCore.App versi 2.0.0, tetapi dengan pengaturan saat ini, versi 2.0.6 akan digunakan sebagai gantinya. Untuk mengatasi masalah ini, pastikan pengaturan yang sama digunakan untuk pemulihan dan untuk operasi berikutnya seperti membangun atau menerbitkan. Biasanya masalah ini dapat terjadi jika properti RuntimeIdentifier diatur selama build atau penerbitan tetapi tidak selama pemulihan."
Nota
restore dan build dapat dijalankan secara implisit sebagai bagian dari perintah lain, seperti publish. Ketika dijalankan secara implisit sebagai bagian dari perintah lain, mereka disediakan dengan konteks tambahan sehingga artefak yang tepat diproduksi. Saat Anda publish dengan runtime (misalnya, dotnet publish -r linux-x64), secara otomatis restore mengembalikan paket untuk runtime linux-x64. Jika Anda memanggil restore secara eksplisit, paket runtime tidak dipulihkan secara default, karena tidak memiliki konteks tersebut.
Cara menghindari pemulihan selama penerbitan
Menjalankan restore sebagai bagian publish dari operasi mungkin tidak diinginkan untuk skenario Anda. Untuk menghindari restore saat membuat publish aplikasi mandiri, lakukan hal berikut:
- Atur
RuntimeIdentifiersproperti ke daftar semua RIDs yang dipisahkan oleh titik koma untuk diterbitkan. - Atur properti
TargetLatestRuntimePatchketrue.
Argumen tanpa pemulihan pada opsi penerbitan dotnet
Jika Anda ingin membuat aplikasi mandiri dan aplikasi yang bergantung pada kerangka kerja dengan file proyek yang sama, dan Anda ingin menggunakan --no-restore argumen dengan dotnet publish, maka pilih salah satu hal berikut:
Lebih suka perilaku yang bergantung pada kerangka kerja. Jika aplikasi bergantung pada kerangka kerja, ini adalah perilaku default. Jika aplikasi ini mandiri dan dapat menggunakan runtime lokal 2.1.0 yang belum diperbarui, atur
TargetLatestRuntimePatchmenjadifalsedi file proyek.Lebih suka perilaku mandiri. Jika aplikasi mandiri, ini adalah perilaku default. Jika aplikasi bergantung pada kerangka kerja, dan memerlukan patch terbaru yang diinstal, atur
TargetLatestRuntimePatchketruedalam file proyek.Ambil kontrol eksplisit dari versi kerangka kerja runtime dengan mengatur
RuntimeFrameworkVersionke versi patch tertentu dalam file proyek.