IL3001: Vermeiden des Zugriffs auf den Assemblydateipfad beim Veröffentlichen als Einzeldatei

Wert
Regel-ID IL3001
Kategorie SingleFile
Fix führt oder führt nicht zur Unterbrechung Nicht betroffen

Ursache

Wenn Sie eine Anwendung als Einzeldatei veröffentlichen (z. B. indem Sie die Eigenschaft PublishSingleFile in einem Projekt auf true setzen), führt der Aufruf der Assembly.GetFile(s)-Methoden für Assemblys, die in das Einzeldatei-Bundle eingebettet sind, immer zu einer Ausnahme, da diese Methoden nicht mit Einzeldateien kompatibel sind.

Behandeln von Verstößen

Zum Einbetten von Dateien in Assemblys in Einzeldateipakete sollten Sie eingebettete Ressourcen und die Methode Assembly.GetManifestResourceStream verwenden.

Wann sollten Warnungen unterdrückt werden?

Es ist sinnvoll, diese Warnung zu unterdrücken, wenn die Assembly, auf die zugegriffen wird, definitiv nicht im Einzeldateipaket enthalten ist. Die Assembly ist möglicherweise nicht im Bundle enthalten, wenn die Assembly dynamisch aus einem Dateipfad geladen wird.