Condividi tramite


IL3002: evitare di chiamare i membri annotati con 'RequiresAssemblyFilesAttribute' durante la pubblicazione come singolo file

Valore
ID della regola IL3002
Categoria File singolo
Correzione che interrompe o non interrompe Ininterrotto

Motivo

Quando si pubblica un'app come singolo file ,ad esempio impostando la PublishSingleFile proprietà su true in un progetto, 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 violante.

Quando eliminare gli avvisi

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