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.
Model penyebaran yang bergantung pada kerangka kerja telah menjadi model penyebaran yang paling sukses sejak awal .NET. Dalam skenario ini, pengembang aplikasi hanya membundel aplikasi dan rakitan pihak ketiga dengan harapan bahwa pustaka runtime dan runtime .NET akan tersedia di komputer klien. Model penyebaran ini terus menjadi yang dominan dalam rilis .NET terbaru, namun, ada beberapa skenario di mana model yang bergantung pada kerangka kerja bukanlah pilihan terbaik. Alternatifnya adalah menerbitkan aplikasi mandiri, di mana pustaka runtime dan runtime .NET dibundel bersama dengan aplikasi dan rakitan pihak ketiga.
Model penyebaran trim-self-contained adalah versi khusus dari model penyebaran mandiri yang dioptimalkan untuk mengurangi ukuran penyebaran. Meminimalkan ukuran penyebaran adalah persyaratan penting untuk beberapa skenario sisi klien seperti aplikasi Blazor. Bergantung pada kompleksitas aplikasi, hanya subset rakitan kerangka kerja yang dirujuk, dan subset kode dalam setiap rakitan diperlukan untuk menjalankan aplikasi. Bagian pustaka yang tidak digunakan tidak perlu dan dapat dipangkas dari aplikasi paket.
Namun, ada risiko bahwa analisis build-time aplikasi dapat menyebabkan kegagalan pada runtime, karena tidak dapat menganalisis berbagai pola kode bermasalah dengan andal (sebagian besar berpusat pada penggunaan pantulan). Untuk mengurangi masalah ini, peringatan dihasilkan setiap kali pemangkas tidak dapat sepenuhnya menganalisis pola kode. Untuk informasi tentang arti peringatan pemangkasan dan cara mengatasinya, lihat Memperbaiki peringatan pemangkasan. Untuk memahami cara kerja pemangkasan dan mengapa pola tertentu menyebabkan peringatan, lihat Memahami analisis pemangkasan.
Catatan
- Pemangkasan didukung penuh dalam .NET 6 dan versi yang lebih baru. Di .NET Core 3.1 dan .NET 5, pemangkasan adalah fitur eksperimental.
- Pemangkasan hanya tersedia untuk aplikasi yang diterbitkan mandiri.
Komponen yang menyebabkan masalah pemangkasan
Peringatan
Tidak semua jenis proyek dapat dipangkas. Untuk informasi selengkapnya, lihat Ketidakcocokan dalam pemangkasan yang diketahui.
Kode apa pun yang menyebabkan tantangan dalam analisis saat proses build tidak cocok untuk pemangkasan. Beberapa pola pengkodian umum yang bermasalah saat digunakan oleh aplikasi yang berasal dari penggunaan pantulan yang tidak terbatas dan dependensi eksternal yang tidak terlihat pada waktu build. Contoh refleksi yang tidak terbatas adalah serializer warisan, seperti serialisasi XML, dan contoh dependensi eksternal yang tidak terlihat adalah COM bawaan. Untuk mengatasi peringatan pemangkasan di aplikasi Anda, lihat Memperbaiki peringatan pemangkasan, dan untuk membuat pustaka Anda kompatibel dengan pemangkasan, lihat Menyiapkan pustaka .NET untuk pemangkasan.
Mengaktifkan pemangkasan
Tambahkan
<PublishTrimmed>true</PublishTrimmed>ke file proyek Anda.Properti ini akan menghasilkan aplikasi yang dipangkas pada penerbitan mandiri. Ini juga menonaktifkan fitur yang tidak kompatibel dengan trim dan memunculkan peringatan tentang kompatibilitas pemangkasan selama build.
<PropertyGroup> <PublishTrimmed>true</PublishTrimmed> </PropertyGroup>Kemudian publikasikan aplikasi Anda menggunakan perintah dotnet publish atau Visual Studio.
Menerbitkan dengan CLI
Contoh berikut menerbitkan aplikasi untuk Windows sebagai aplikasi mandiri yang dipangkas.
dotnet publish -r win-x64
Pemangkasan hanya didukung untuk aplikasi mandiri.
<PublishTrimmed> harus diatur dalam file proyek sehingga fitur yang tidak kompatibel dengan trim dinonaktifkan selama dotnet build. Namun, Anda juga dapat mengatur opsi ini sebagai argumen ke dotnet publish:
dotnet publish -r win-x64 -p:PublishTrimmed=true
Untuk informasi selengkapnya, lihat Gambaran umum penerbitan aplikasi .NET.
Menerbitkan dengan Visual Studio
Di Penjelajah Solusi, klik kanan pada proyek yang ingin Anda terbitkan dan pilih Properti.
Pilih Bangun>Terbitkan.
Pilih Terbitkan yang dipangkas untuk menerbitkan aplikasi Anda yang dipangkas.
Untuk informasi selengkapnya, lihat Gambaran umum penerbitan aplikasi .NET.
Langkah selanjutnya
Setelah mengaktifkan pemangkasan, Anda mungkin mengalami peringatan pemangkasan selama proses pembangunan. Ikuti panduan ini untuk memahami dan mengatasinya:
- Memahami analisis pemangkasan - Pelajari cara kerja pemangkas dan mengapa pola kode tertentu menghasilkan peringatan. Panduan konseptual ini menjelaskan prinsip-prinsip dasar analisis pemangkasan.
- Perbaiki peringatan pemangkasan - Alur kerja langkah demi langkah untuk menyelesaikan peringatan pemangkasan dalam kode Anda.
- Siapkan pustaka untuk pemangkasan - Buat pustaka Anda kompatibel dengan pemangkasan.
- Opsi pemangkasan - Referensi untuk properti MSBuild yang mengontrol perilaku pemangkasan.