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.
Ab .NET 8 hat sich das Verhalten von Environment.GetFolderPath Unix-Betriebssystemen geändert.
Änderungsbeschreibung
In den folgenden Tabellen wird gezeigt, wie sich der zurückgegebene Pfadwert für jedes Unix-Betriebssystem für verschiedene spezielle Ordner ändert.
Linux (Englisch)
| SpecialFolder-Wert | Pfad (.NET 7 und früher) | Pfad (.NET 8 und höher) |
|---|---|---|
MyDocuments |
$HOME |
Verwendet XDG_DOCUMENTS_DIR , falls verfügbar; andernfalls $HOME/Documents |
Personal |
$HOME |
Verwendet XDG_DOCUMENTS_DIR , falls verfügbar; andernfalls $HOME/Documents |
macOS
| SpecialFolder-Wert | Pfad (.NET 7 und früher) | Pfad (.NET 8 und höher) |
|---|---|---|
MyDocuments |
$HOME |
NSDocumentDirectory ($HOME/Documents) |
Personal |
$HOME |
NSDocumentDirectory ($HOME/Documents) |
ApplicationData |
$HOME/.config |
NSApplicationSupportDirectory (Bibliothek/Anwendungsunterstützung) |
LocalApplicationData |
$HOME/.local/share |
NSApplicationSupportDirectory (Bibliothek/Anwendungsunterstützung) |
MyVideos |
$HOME/Videos |
NSMoviesDirectory ($HOME/Movies) |
Android
| SpecialFolder-Wert | Pfad (.NET 7 und früher) | Pfad (.NET 8 und höher) |
|---|---|---|
MyDocuments |
$HOME |
$HOME/Documents |
Personal |
$HOME |
$HOME/Documents |
Eingeführte Version
.NET 8 Preview 1
Art der einschneidenden Änderung
Diese Änderung ist eine Verhaltensänderung.
Grund für Änderung
Das vorherige Verhalten war falsch und erfüllte die Benutzererwartungen für Linux, macOS und Android nicht.
Empfohlene Aktion
Die häufigste Unterbrechung tritt auf, wenn Sie in Unix System.Environment.SpecialFolder.Personal an Environment.GetFolderPath(Environment+SpecialFolder) übergeben, um das $HOME-Verzeichnis (Environment.GetFolderPath(Environment.SpecialFolder.Personal)) abzurufen.
Environment.SpecialFolder.Personal und Environment.SpecialFolder.MyDocuments sind Aliase für denselben zugrunde liegenden Enumerationswert. Wenn Sie Environment.SpecialFolder.Personal auf diese Weise verwenden, ändern Sie Ihren Code, sodass stattdessen Environment.SpecialFolder.UserProfile übergeben wird (Environment.GetFolderPath(Environment.SpecialFolder.UserProfile)).
Bei anderen Unterbrechungen besteht die empfohlene Aktion darin, eine der folgenden Aktionen auszuführen:
- Migrieren Sie die Dateien Ihrer Anwendung in das entsprechende Verzeichnis.
- Fügen Sie dem Code eine Fallbacküberprüfung für den vorherigen Speicherort hinzu.