Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Mulai dari .NET 8, perilaku Environment.GetFolderPath pada sistem operasi Unix telah berubah.
Ubah deskripsi
Tabel berikut menunjukkan bagaimana nilai jalur yang dikembalikan berubah untuk setiap sistem operasi Unix untuk berbagai folder khusus.
Linux
| Nilai Folder Khusus | Jalur (.NET 7 dan yang lebih lama) | Path (.NET 8 dan yang lebih baru) |
|---|---|---|
MyDocuments |
$HOME |
XDG_DOCUMENTS_DIR Menggunakan jika tersedia; jika tidak$HOME/Documents |
Personal |
$HOME |
XDG_DOCUMENTS_DIR Menggunakan jika tersedia; jika tidak$HOME/Documents |
macOS
| Nilai Folder Khusus | Jalur (.NET 7 dan yang lebih lama) | Path (.NET 8 dan yang lebih baru) |
|---|---|---|
MyDocuments |
$HOME |
NSDocumentDirectory ($HOME/Documents) |
Personal |
$HOME |
NSDocumentDirectory ($HOME/Documents) |
ApplicationData |
$HOME/.config |
NSApplicationSupportDirectory (Dukungan Pustaka/Aplikasi) |
LocalApplicationData |
$HOME/.local/share |
NSApplicationSupportDirectory (Dukungan Pustaka/Aplikasi) |
MyVideos |
$HOME/Videos |
NSMoviesDirectory ($HOME/Movies) |
Android
| Nilai Folder Khusus | Jalur (.NET 7 dan yang lebih lama) | Path (.NET 8 dan yang lebih baru) |
|---|---|---|
MyDocuments |
$HOME |
$HOME/Documents |
Personal |
$HOME |
$HOME/Documents |
Versi yang diperkenalkan
Pratinjau .NET 8 1
Jenis perubahan yang memutus kompatibilitas
Perubahan ini adalah perubahan perilaku .
Alasan perubahan
Perilaku sebelumnya salah dan tidak memenuhi harapan pengguna untuk Linux, macOS, dan Android.
Tindakan yang direkomendasikan
Kesalahan yang paling umum adalah jika Anda meneruskan System.Environment.SpecialFolder.Personal ke Environment.GetFolderPath(Environment+SpecialFolder) pada sistem Unix untuk mendapatkan direktori $HOME (Environment.GetFolderPath(Environment.SpecialFolder.Personal)).
Environment.SpecialFolder.Personal dan Environment.SpecialFolder.MyDocuments merupakan alias untuk nilai enumerasi yang mendasar yang sama. Jika Anda menggunakan Environment.SpecialFolder.Personal dengan cara ini, ubah kode Anda untuk meneruskan Environment.SpecialFolder.UserProfile sebagai gantinya (Environment.GetFolderPath(Environment.SpecialFolder.UserProfile)).
Untuk jeda lainnya, tindakan yang direkomendasikan adalah melakukan salah satu hal berikut:
- Migrasikan file aplikasi Anda ke direktori yang sesuai.
- Tambahkan pengecekan fallback untuk lokasi sebelumnya ke kode Anda.