Aracılığıyla paylaş


IL3002: Tek bir dosya olarak yayın yaparken 'RequiresAssemblyFilesAttribute' ek açıklamayla işaretlenmiş üyeleri çağırmaktan kaçının

Değer
Kural Kimliği IL3002
Kategori SingleFile
Düzeltmenin bozulma veya bozulmama durumu Kesilmez

Nedeni

Bir uygulamayı tek bir dosya olarak yayımladığınızda (örneğin, bir projede PublishSingleFile özelliğini true olarak ayarlayarak), RequiresAssemblyFilesAttribute özniteliğine sahip üyeleri çağırmak tek dosya ile uyumlu değildir. Bu öznitelikle işaretlenmiş üyeler derleme dosyalarının diskte olmasını gerektirir, oysa tek dosyalı bir uygulamaya gömülü olan derlemeler bellekten yüklenir; bu nedenle, bu çağrılar uyumlu değildir.

Örnek:

[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();
}

İhlalleri düzeltme

'RequiresAssemblyFilesAttribute' özniteliğiyle açıklama ekleyen üyelerin, tek bir dosya olarak yayımlayan kullanıcılara yararlı bilgiler vermeyi amaçlayan bir iletisi vardır. Mevcut kodu özniteliğin iletisine uyarlamayı veya ihlal eden çağrıyı kaldırmayı göz önünde bulundurun.

Uyarıların ne zaman bastırılması gerekiyor?

Mevcut kod 'RequiresAssemblyFilesAttribute' özniteliğinin iletisinde özetlenen öneriye uyarlandığında uyarının gizlenmesi uygundur.