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.