Freigeben über


IL3002: Vermeiden Sie es, Mitglieder aufzurufen, die mit "RequiresAssemblyFilesAttribute" gekennzeichnet sind, wenn Sie diese als einzelne Datei veröffentlichen.

Wert
Regel-ID IL3002
Kategorie Einzeldatei
Korrektur ist unterbrechend oder nicht unterbrechend Nicht betroffen

Ursache

Wenn Sie eine App als einzelne Datei veröffentlichen (z. B. indem Sie die PublishSingleFile-Eigenschaft true in einem Projekt festlegen), ist das Aufrufen von Mitgliedern, die mit dem RequiresAssemblyFilesAttribute-Attribut versehen sind, nicht mit einer einzelnen Datei kompatibel. Diese Aufrufe sind nicht kompatibel, da Elemente, die mit diesem Attribut versehen sind, Assemblydateien auf dem Datenträger benötigen, und die in einer Einzeldatei-App eingebetteten Assemblys sind speichergeladen.

Beispiel:

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

Wie man Verstöße behebt

Elemente, die mit dem Attribut "RequiresAssemblyFilesAttribute" versehen sind, weisen eine Nachricht auf, die Benutzern nützliche Informationen zur Veröffentlichung als einzelne Datei geben soll. Erwägen Sie, vorhandenen Code an die Nachricht des Attributs anzupassen oder den verletzten Aufruf zu entfernen.

Wann sollten Warnungen unterdrückt werden?

Es ist angemessen, die Warnung zu unterdrücken, wenn der vorhandene Code an die Empfehlung angepasst wurde, die in der Nachricht des Attributs "RequiresAssemblyFilesAttribute" beschrieben ist.