Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Od verze .NET 8 se chování operačních Environment.GetFolderPath systémů Unix změnilo.
Změnit popis
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.
Operační systém Linux
Hodnota určené pro SpecialFolder | Cesta (.NET verze 7 a dřívější) | 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 určené pro SpecialFolder | Cesta (.NET verze 7 a dřívější) | 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 určené pro SpecialFolder | Cesta (.NET verze 7 a dřívější) | Cesta (.NET 8 a novější) |
---|---|---|
MyDocuments |
$HOME |
$HOME/Documents |
Personal |
$HOME |
$HOME/Documents |
Verze byla představena
.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, když na Unixu předáváte System.Environment.SpecialFolder.Personal do Environment.GetFolderPath(Environment+SpecialFolder) k získání adresáře ($HOME
).
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 přestávek je doporučeno udělat jednu z následujících věcí:
- Migrujte soubory aplikace do příslušného adresáře.
- Přidejte náhradní kontrolu pro předchozí umístění do kódu.