Assemblybezogene Behavior Changes für Veröffentlichungsformat mit einzelner Datei
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.
Betroffene APIs
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für