Condividi tramite


IL3002: evitare di chiamare i membri annotati con 'RequiresAssemblyFilesAttribute' quando si esegue la pubblicazione come file singolo.

Valore
ID regola IL3002
Categoria SingleFile
La correzione causa un'interruzione o meno Non causa un'interruzione

Causa

Quando si pubblica un'app come singolo file, ad esempio impostando in un progetto la proprietà PublishSingleFile su true, la chiamata ai membri annotati con l'attributo RequiresAssemblyFilesAttribute non è compatibile con un singolo file. Queste chiamate non sono compatibili perché i membri annotati con questo attributo richiedono che i file di assembly siano su disco e che gli assembly incorporati in un'app a file singolo vengano caricati in memoria.

Esempio:

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

Come correggere le violazioni

I membri annotati con l'attributo “RequiresAssemblyFilesAttribute” hanno un messaggio destinato a fornire informazioni utili agli utenti che pubblicano come singolo file. È consigliabile adattare il codice esistente al messaggio dell'attributo o rimuovere la chiamata che lo viola.

Quando eliminare gli avvisi

È opportuno eliminare l'avviso quando il codice esistente è stato adattato alla raccomandazione descritta nel messaggio dell'attributo “RequiresAssemblyFilesAttribute”.