IL3002: Hindari memanggil anggota yang diannotasi dengan 'RequiresAssemblyFilesAttribute' saat menerbitkan sebagai satu file.
Nilai | |
---|---|
ID Aturan | IL3002 |
Golongan | SingleFile |
Perbaikan rusak atau tidak pecah | Non-pemisahan |
Penyebab
Saat Anda menerbitkan aplikasi sebagai satu file (misalnya, dengan mengatur PublishSingleFile
properti ke true
dalam proyek), memanggil anggota yang diannotasi dengan atribut tidak kompatibel dengan RequiresAssemblyFilesAttribute
file tunggal. Panggilan ini tidak kompatibel karena anggota yang diannotasi dengan atribut ini mengharuskan file rakitan berada di disk, dan rakitan yang disematkan dalam aplikasi file tunggal dimuat memori.
Contoh:
[RequiresAssemblyFiles(Message="Use 'MethodFriendlyToSingleFile' instead", Url="http://help/assemblyfiles")]
void MethodWithAssemblyFilesUsage()
{
}
void TestMethod()
{
// IL3002: Using member 'MethodWithAssemblyFilesUsage' which has 'RequiresAssemblyFilesAttribute'
// can break functionality when embedded in a single-file app. Use 'MethodFriendlyToSingleFile' instead. http://help/assemblyfiles
MethodWithAssemblyFilesUsage();
}
Cara memperbaiki pelanggaran
Anggota yang diannotasi dengan atribut 'RequiresAssemblyFilesAttribute' memiliki pesan yang dimaksudkan untuk memberikan informasi yang berguna kepada pengguna yang menerbitkan sebagai satu file. Pertimbangkan untuk mengadaptasi kode yang ada ke pesan atribut atau menghapus panggilan yang melanggar.
Kapan harus menekan peringatan
Sangat tepat untuk menekan peringatan ketika kode yang ada telah disesuaikan dengan rekomendasi yang diuraikan dalam pesan atribut 'RequiresAssemblyFilesAttribute'.