Udostępnij za pośrednictwem


IL3002: Unikaj wywoływania elementów członkowskich z adnotacją "RequiresAssemblyFilesAttribute" podczas publikowania jako pojedynczego pliku.

Wartość
Identyfikator reguły IL3002
Kategoria Pojedynczy plik
Poprawka powodująca niezgodność lub niezgodność Nierozdzielający

Przyczyna

W przypadku publikowania aplikacji jako pojedynczego pliku (na przykład przez ustawienie PublishSingleFile właściwości na true wartość w projekcie) wywoływanie elementów członkowskich oznaczonych atrybutem nie jest zgodne z RequiresAssemblyFilesAttribute pojedynczym plikiem. Te wywołania nie są zgodne, ponieważ elementy członkowskie oznaczone tym atrybutem wymagają, aby pliki zestawu były na dysku, a zestawy osadzone w aplikacji z jednym plikiem są ładowane do pamięci.

Przykład:

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

Jak naprawić naruszenia

Elementy członkowskie oznaczone atrybutem "RequiresAssemblyFilesAttribute" mają komunikat służący do przekazywania przydatnych informacji użytkownikom, którzy publikują jako pojedynczy plik. Rozważ dostosowanie istniejącego kodu do komunikatu atrybutu lub usunięcie wywołania naruszającego.

Kiedy pomijać ostrzeżenia

Należy pominąć ostrzeżenie, gdy istniejący kod został dostosowany do zalecenia opisanego w komunikacie atrybutu "RequiresAssemblyFilesAttribute".