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