Delen via


GetFolderPath-gedrag op Unix

Vanaf .NET 8 is het gedrag van Environment.GetFolderPath unix-besturingssystemen gewijzigd.

Wijzigingsbeschrijving

In de volgende tabellen ziet u hoe de geretourneerde padwaarde voor elk Unix-besturingssysteem voor verschillende speciale mappen verandert.

Linux

SpecialFolder-waarde Pad (.NET 7 en eerder) Pad (.NET 8 en hoger)
MyDocuments $HOME Gebruikt XDG_DOCUMENTS_DIR indien beschikbaar; anders $HOME/Documents
Personal $HOME Gebruikt XDG_DOCUMENTS_DIR indien beschikbaar; anders $HOME/Documents

macOS

SpecialFolder-waarde Pad (.NET 7 en eerder) Pad (.NET 8 en hoger)
MyDocuments $HOME NSDocumentDirectory ($HOME/Documents)
Personal $HOME NSDocumentDirectory ($HOME/Documents)
ApplicationData $HOME/.config NSApplicationSupportDirectory (bibliotheek/toepassingsondersteuning)
LocalApplicationData $HOME/.local/share NSApplicationSupportDirectory (bibliotheek/toepassingsondersteuning)
MyVideos $HOME/Videos NSMoviesDirectory ($HOME/Movies)

Android

SpecialFolder-waarde Pad (.NET 7 en eerder) Pad (.NET 8 en hoger)
MyDocuments $HOME $HOME/Documents
Personal $HOME $HOME/Documents

Versie geïntroduceerd

.NET 8 Preview 1

Type wijziging die fouten veroorzaken

Deze wijziging is een gedragswijziging.

Reden voor wijziging

Het vorige gedrag was onjuist en voldeed niet aan de gebruikersverwachtingen voor Linux, macOS en Android.

De meest voorkomende onderbreking is als u doorgeeft System.Environment.SpecialFolder.Personal aan Environment.GetFolderPath(Environment+SpecialFolder) Unix om de $HOME map (Environment.GetFolderPath(Environment.SpecialFolder.Personal)) op te halen. Environment.SpecialFolder.Personal en Environment.SpecialFolder.MyDocuments aliassen zijn voor dezelfde onderliggende opsommingswaarde. Als u op deze manier werkt Environment.SpecialFolder.Personal , wijzigt u de code om in plaats daarvan door te geven Environment.SpecialFolder.UserProfile (Environment.GetFolderPath(Environment.SpecialFolder.UserProfile)).

Voor andere onderbrekingen is de aanbevolen actie een van de volgende handelingen uit te voeren:

  • Migreer de bestanden van uw toepassing naar de juiste map.
  • Voeg een terugvalcontrole toe voor de vorige locatie aan uw code.

Betrokken API's