Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Mehrere auf den Speicherort der Assemblydatei bezogene APIs weisen Behavior Changes auf, wenn sie in einem Veröffentlichungsformat mit einzelner Datei aufgerufen werden.
Änderungsbeschreibung
Bei einer Veröffentlichung mit einzelner Datei für .NET 5 und höhere Versionen werden Assemblybundles aus dem Arbeitsspeicher geladen anstatt auf den Datenträger extrahiert zu werden. Für Apps, die als einzelne Datei veröffentlicht werden, bedeutet dies, dass bestimmte auf den Speicherort bezogene APIs verschiedene Werte für .NET 5 und höhere Versionen zurückgeben als ältere Versionen von .NET. Es gibt folgenden Änderungen:
API | Vorgängerversionen | .NET 5 und höher |
---|---|---|
Assembly.Location | Gibt extrahierten DLL-Dateipfad zurück | Gibt leere Zeichenfolge für Assemblybundles zurück |
Assembly.CodeBase | Gibt extrahierten DLL-Dateipfad zurück | Löst eine Ausnahme für Assemblybundles aus |
Assembly.GetFile(String) | Gibt null für Assemblybundles zurück |
Löst eine Ausnahme für Assemblybundles aus |
Environment.GetCommandLineArgs()[0] |
Der Wert ist der Name der Einstiegspunkt-DLL. | Der Wert ist der Name der ausführbaren Hostdatei. |
AppContext.BaseDirectory | Der Wert ist das temporäre Extraktionsverzeichnis. | Der Wert ist das Verzeichnis, das die ausführbare Hostdatei enthält. |
Eingeführt in Version
5.0
Empfohlene Maßnahme
Vermeiden Sie Abhängigkeiten vom Speicherort der Assemblydatei, wenn die Veröffentlichung als einzelne Datei erfolgt.