Kesalahan yang dihasilkan ketika proyek yang dapat dieksekusi mereferensikan executable yang tidak cocok
Umumnya, proyek yang dapat dieksekusi mereferensikan proyek pustaka, bukan proyek yang dapat dieksekusi lainnya. Proyek yang dapat dieksekusi juga dapat mereferensikan proyek lain yang dapat dieksekusi untuk menggunakan API yang ditentukan di dalamnya. Beberapa pengembang ingin mereferensikan proyek yang dapat dieksekusi dari proyek lain yang dapat dieksekusi sehingga kedua aplikasi ditempatkan dan dapat dijalankan dari folder output yang sama. Namun, skenario ini tidak berfungsi jika executable mandiri mereferensikan executable yang tidak mandiri, atau sebaliknya. Karena cara kerja host aplikasi, tidak ada aplikasi yang dapat diluncurkan. Untuk mencegah situasi di mana aplikasi tidak dapat dijalankan, .NET SDK 5+ menghasilkan kesalahan waktu kompilasi NETSDK1150 dan NETSDK1151 saat mendeteksi referensi yang dapat dieksekusi yang tidak cocok.
Deskripsi perubahan
Dalam versi .NET SDK sebelumnya, Anda dapat mereferensikan proyek yang dapat dieksekusi mandiri dari proyek yang tidak dapat dieksekusi mandiri tanpa kesalahan build. Namun, kedua aplikasi tidak akan dapat dijalankan. Mulai dari .NET SDK 5, kesalahan dihasilkan jika proyek yang dapat dieksekusi mereferensikan proyek lain yang dapat dieksekusi dan nilainya SelfContained
tidak cocok.
Versi yang diperkenalkan
.NET SDK 5.0.300
Alasan untuk berubah
Kesalahan diperkenalkan untuk mencegah situasi di mana Anda berharap dapat meluncurkan kedua aplikasi tetapi tidak dapat.
Tindakan yang direkomendasikan
Jika proyek yang dirujuk tidak perlu dijalankan dari folder output, Anda dapat mengatur properti untuk menghindari pemeriksaan kesalahan ini:
<ValidateExecutableReferencesMatchSelfContained>false</ValidateExecutableReferencesMatchSelfContained>
Untuk informasi selengkapnya, lihat ValidateExecutableReferencesMatchSelfContained.
API yang Terpengaruh
Tidak ada.