Chování GetFolderPath v unixu
Od verze .NET 8 se chování operačních Environment.GetFolderPath systémů Unix změnilo.
Změna popisu
Následující tabulky ukazují, jak se vrácené hodnoty cesty mění pro každý operační systém Unix pro různé speciální složky.
Linux
Hodnota SpecialFolder | Cesta (.NET 7 a starší) | Cesta (.NET 8 a novější) |
---|---|---|
MyDocuments |
$HOME |
Používá XDG_DOCUMENTS_DIR se, pokud je k dispozici; jinak $HOME/Documents |
Personal |
$HOME |
Používá XDG_DOCUMENTS_DIR se, pokud je k dispozici; jinak $HOME/Documents |
macOS
Hodnota SpecialFolder | Cesta (.NET 7 a starší) | Cesta (.NET 8 a novější) |
---|---|---|
MyDocuments |
$HOME |
NSDocumentDirectory ($HOME/Documents ) |
Personal |
$HOME |
NSDocumentDirectory ($HOME/Documents ) |
ApplicationData |
$HOME/.config |
NSApplicationSupportDirectory (podpora knihovny nebo aplikace) |
LocalApplicationData |
$HOME/.local/share |
NSApplicationSupportDirectory (podpora knihovny nebo aplikace) |
MyVideos |
$HOME/Videos |
NSMoviesDirectory ($HOME/Movies ) |
Android
Hodnota SpecialFolder | Cesta (.NET 7 a starší) | Cesta (.NET 8 a novější) |
---|---|---|
MyDocuments |
$HOME |
$HOME/Documents |
Personal |
$HOME |
$HOME/Documents |
Zavedená verze
.NET 8 Preview 1
Typ zásadní změny
Tato změna je změna chování.
Důvod změny
Předchozí chování bylo nesprávné a nesplňuje očekávání uživatelů pro Linux, macOS a Android.
Doporučená akce
Nejběžnějším přerušením je System.Environment.SpecialFolder.Personal předání do Environment.GetFolderPath(Environment+SpecialFolder) unixového $HOME
systému, abyste získali adresář (Environment.GetFolderPath(Environment.SpecialFolder.Personal)
). Environment.SpecialFolder.Personal a Environment.SpecialFolder.MyDocuments jsou aliasy pro stejnou základní hodnotu výčtu. Pokud tímto způsobem používáte Environment.SpecialFolder.Personal , změňte kód tak, aby místo toho předal Environment.SpecialFolder.UserProfile (Environment.GetFolderPath(Environment.SpecialFolder.UserProfile)
).
U ostatních konců je doporučená akce provést jednu z následujících akcí:
- Migrujte soubory aplikace do příslušného adresáře.
- Přidejte náhradní kontrolu pro předchozí umístění do kódu.