IL3002: Hindari memanggil anggota yang diannotasi dengan 'RequiresAssemblyFilesAttribute' saat menerbitkan sebagai satu file

Nilai
ID Aturan IL3002
Kategori File Tunggal
Perbaikan rusak atau tidak pecah Tidak terputus

Penyebab

Saat Anda menerbitkan aplikasi sebagai satu file (misalnya, dengan mengatur properti PublishSingleFile ke true dalam proyek), memanggil anggota yang dianotasi dengan atribut RequiresAssemblyFilesAttribute tidak kompatibel dengan konfigurasi file tunggal. Panggilan ini tidak kompatibel karena anggota yang dianotasi dengan atribut ini mengharuskan file assembly berada di disk, dan assembly yang tertanam dalam aplikasi file tunggal dimuat ke dalam 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'.