Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Począwszy od platformy .NET 8, zachowanie Environment.GetFolderPath w systemach operacyjnych Unix uległo zmianie.
W poniższych tabelach pokazano, jak zwracana wartość ścieżki zmienia się dla każdego systemu operacyjnego Unix dla różnych folderów specjalnych.
Wartość SpecialFolder | Ścieżka (.NET 7 i starsze) | Ścieżka (.NET 8 i nowsze) |
---|---|---|
MyDocuments |
$HOME |
Używa XDG_DOCUMENTS_DIR metody , jeśli jest dostępna; w przeciwnym razie $HOME/Documents |
Personal |
$HOME |
Używa XDG_DOCUMENTS_DIR metody , jeśli jest dostępna; w przeciwnym razie $HOME/Documents |
Wartość SpecialFolder | Ścieżka (.NET 7 i starsze) | Ścieżka (.NET 8 i nowsze) |
---|---|---|
MyDocuments |
$HOME |
NSDocumentDirectory ($HOME/Documents ) |
Personal |
$HOME |
NSDocumentDirectory ($HOME/Documents ) |
ApplicationData |
$HOME/.config |
NSApplicationSupportDirectory (obsługa biblioteki/aplikacji) |
LocalApplicationData |
$HOME/.local/share |
NSApplicationSupportDirectory (obsługa biblioteki/aplikacji) |
MyVideos |
$HOME/Videos |
NSDirectory ($HOME/Movies ) |
Wartość SpecialFolder | Ścieżka (.NET 7 i starsze) | Ścieżka (.NET 8 i nowsze) |
---|---|---|
MyDocuments |
$HOME |
$HOME/Documents |
Personal |
$HOME |
$HOME/Documents |
.NET 8 (wersja zapoznawcza 1)
Ta zmiana jest zmianą behawioralną.
Poprzednie zachowanie było nieprawidłowe i nie spełniało oczekiwań użytkownika dla systemów Linux, macOS i Android.
Najczęstszą przerwą jest System.Environment.SpecialFolder.Personal przekazanie do Environment.GetFolderPath(Environment+SpecialFolder) katalogu w systemie Unix w celu pobrania $HOME
katalogu (Environment.GetFolderPath(Environment.SpecialFolder.Personal)
). Environment.SpecialFolder.Personal i Environment.SpecialFolder.MyDocuments są aliasami dla tej samej bazowej wartości wyliczenia. Jeśli używasz Environment.SpecialFolder.Personal w ten sposób, zmień kod, aby zamiast tego (Environment.SpecialFolder.UserProfileEnvironment.GetFolderPath(Environment.SpecialFolder.UserProfile)
).
W przypadku innych przerw zalecaną akcją jest wykonanie jednej z następujących czynności:
- Przeprowadź migrację plików aplikacji do odpowiedniego katalogu.
- Dodaj kontrolę rezerwową dla poprzedniej lokalizacji do kodu.
Opinia o produkcie .NET
.NET to projekt typu open source. Wybierz link, aby przekazać opinię: