Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
.NET 8'den başlayarak Unix işletim sistemlerinin Environment.GetFolderPath davranışı değişti.
Açıklamayı değiştir
Aşağıdaki tablolarda, çeşitli özel klasörler için her Unix işletim sistemi için döndürülen yol değerinin nasıl değiştiği gösterilmektedir.
Linux işletim sistemi
| SpecialFolder değeri | Yol (.NET 7 ve öncesi) | Yol (.NET 8 ve üzeri versiyon) |
|---|---|---|
MyDocuments |
$HOME |
Varsa kullanır XDG_DOCUMENTS_DIR ; aksi takdirde $HOME/Documents |
Personal |
$HOME |
Varsa kullanır XDG_DOCUMENTS_DIR ; aksi takdirde $HOME/Documents |
macOS
| SpecialFolder değeri | Yol (.NET 7 ve öncesi) | Yol (.NET 8 ve üzeri versiyon) |
|---|---|---|
MyDocuments |
$HOME |
NSDocumentDirectory ($HOME/Documents) |
Personal |
$HOME |
NSDocumentDirectory ($HOME/Documents) |
ApplicationData |
$HOME/.config |
NSApplicationSupportDirectory (Kitaplık/Uygulama Desteği) |
LocalApplicationData |
$HOME/.local/share |
NSApplicationSupportDirectory (Kitaplık/Uygulama Desteği) |
MyVideos |
$HOME/Videos |
NSMoviesDirectory ($HOME/Movies) |
Android
| SpecialFolder değeri | Yol (.NET 7 ve öncesi) | Yol (.NET 8 ve üzeri versiyon) |
|---|---|---|
MyDocuments |
$HOME |
$HOME/Documents |
Personal |
$HOME |
$HOME/Documents |
Sürüm kullanıma sunulmuştur
.NET 8 Preview 1
Kesinti yaratan değişiklik türü
Bu değişiklik davranışsal bir değişikliktir.
Değişiklik nedeni
Önceki davranış yanlıştı ve Linux, macOS ve Android için kullanıcı beklentilerini karşılamadı.
Önerilen eylem
En yaygın kesinti, System.Environment.SpecialFolder.Personal dizinini (Environment.GetFolderPath(Environment+SpecialFolder)) almak için $HOME'i Unix'te Environment.GetFolderPath(Environment.SpecialFolder.Personal)'e geçirirken oluşur.
Environment.SpecialFolder.Personal ve Environment.SpecialFolder.MyDocuments aynı temel numaralandırma değerinin diğer adlarıdır. Eğer Environment.SpecialFolder.Personal'yi bu şekilde kullanıyorsanız, Environment.SpecialFolder.UserProfile'yi iletmek için kodunuzu değiştirin Environment.GetFolderPath(Environment.SpecialFolder.UserProfile).
Diğer kesintiler için önerilen eylem şunlardan birini yapmaktır:
- Uygulamanızın dosyalarını uygun dizine geçirin.
- Kodunuza önceki konum için geri dönüş denetimi ekleyin.