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”.