Saya benar-benar baru mengenal .NET, dan saya masih belum memahami cara kerja file konfigurasi.
Setiap kali saya mencari di Google tentang itu saya mendapatkan hasil tentang web.config, tetapi saya sedang menulis aplikasi Windows Forms.
Saya menemukan bahwa saya perlu menggunakan namespace System.Configuration, tetapi dokumentasinya tidak membantu.
Bagaimana cara menentukan bahwa file konfigurasi saya adalah XYZ.xml? Atau apakah itu memiliki nama "default" untuk file konfigurasi? Saya masih tidak mengerti.
Juga, bagaimana cara mendefinisikan bagian baru? Apakah saya benar-benar perlu membuat kelas yang mewarisi dari ConfigurationSection?
Saya hanya ingin memiliki file konfigurasi dengan beberapa nilai seperti ini:
<MyCustomValue>1</MyCustomValue>
<MyCustomPath>C:\Some\Path\Here</MyCustomPath>
Apakah ada cara sederhana untuk melakukannya? Dapatkah Anda menjelaskan dengan cara yang sederhana cara membaca dan menulis dari / ke file konfigurasi sederhana?
sumber
Jawaban:
Anda ingin menggunakan App.Config.
Ketika Anda menambahkan item baru ke proyek, ada sesuatu yang disebut file Konfigurasi Aplikasi. Tambahkan itu.
Kemudian Anda menambahkan kunci di bagian konfigurasi / appsettings
Suka:
<configuration> <appSettings> <add key="MyKey" value="false"/>
Akses anggota dengan melakukan
Ini berfungsi di .NET 2 ke atas.
sumber
ConfigurationSettings
sudah usang, gunakanSystem.Configuration.ConfigurationManager.AppSettings["MyKey"];
.System.Configuration.ConfigurationManager
proyek Anda membutuhkan referensi keSystem.Configuration.dll
Klarifikasi jawaban sebelumnya ...
Tambahkan file baru ke proyek Anda ( Tambah → Item Baru → File Konfigurasi Aplikasi )
File konfigurasi baru akan muncul di Solution Explorer sebagai App.Config .
Tambahkan pengaturan Anda ke dalam file ini menggunakan yang berikut ini sebagai template
<configuration> <appSettings> <add key="setting1" value="key"/> </appSettings> <connectionStrings> <add name="prod" connectionString="YourConnectionString"/> </connectionStrings> </configuration>
Ambil kembali seperti ini:
Saat dibuat, folder keluaran Anda akan berisi file bernama <assemblyname> .exe.config. Ini akan menjadi salinan dari file App.Config . Tidak ada pekerjaan lebih lanjut yang perlu dilakukan oleh pengembang untuk membuat file ini.
sumber
Dari pembacaan singkat jawaban sebelumnya, mereka terlihat benar, tetapi sepertinya tidak ada orang yang menyebutkan fasilitas konfigurasi baru di Visual Studio 2008. Masih menggunakan app.config (disalin pada waktu kompilasi ke YourAppName.exe.config), tetapi ada widget UI untuk menyetel properti dan menentukan tipenya. Klik dua kali Settings.settings di folder "Properties" proyek Anda.
Bagian terbaiknya adalah mengakses properti ini dari kode adalah aman untuk mengetik - kompilator akan menemukan kesalahan yang jelas seperti salah ketik nama properti. Misalnya, properti bernama MyConnectionString di app.config akan diakses seperti:
sumber
Settings.Default.Test = "abc"; Settings.Default.Save();
Anda harus membuat file App.config (sangat mirip dengan web.config ).
Anda harus mengklik kanan pada proyek Anda, menambahkan item baru, dan memilih "File Konfigurasi Aplikasi" baru .
Pastikan Anda menambahkan menggunakan System.Configuration dalam proyek Anda.
Kemudian Anda dapat menambahkan nilai ke dalamnya:
<?xml version="1.0" encoding="utf-8" ?> <configuration> <appSettings> <add key="setting1" value="key"/> </appSettings> <connectionStrings> <add name="prod" connectionString="YourConnectionString"/> </connectionStrings> </configuration>
Sekadar catatan: Menurut Microsoft , Anda harus menggunakan ConfigurationManager daripada ConfigurationSettings (lihat bagian komentar):
sumber
Nama default untuk file konfigurasi adalah [yourexe] .exe.config. Jadi notepad.exe akan memiliki file konfigurasi bernama notepad.exe.config, di folder yang sama dengan program. Ini adalah file konfigurasi umum untuk semua aspek CLR dan Framework, tetapi dapat berisi pengaturan Anda sendiri di bawah
<appSettings>
node.The
<appSettings>
elemen menciptakan koleksi pasangan nama-nilai yang dapat diakses sebagaiSystem.Configuration.ConfigurationSettings.AppSettings
. Namun, tidak ada cara untuk menyimpan perubahan kembali ke file konfigurasi.Anda juga dapat menambahkan elemen khusus Anda sendiri ke file konfigurasi - misalnya, untuk menentukan setelan terstruktur - dengan membuat kelas yang mengimplementasikan
IConfigurationSectionHandler
dan menambahkannya ke<configSections>
elemen file konfigurasi. Anda kemudian dapat mengaksesnya dengan meneleponConfigurationSettings.GetConfig
..NET 2.0 menambahkan kelas baru
System.Configuration.ConfigurationManager
, yang mendukung banyak file, dengan penggantian data per-sistem per pengguna. Ini juga mendukung penyimpanan konfigurasi yang dimodifikasi kembali ke file pengaturan.Visual Studio membuat file bernama
App.config
, yang disalin ke folder EXE, dengan nama yang benar, saat proyek dibuat.sumber
Artikel (IMHO) terbaik tentang konfigurasi Aplikasi .NET ada di CodeProject, Mengurai Misteri Konfigurasi .NET 2.0 . Dan artikel favorit saya berikutnya (yang lebih pendek) tentang bagian di file konfigurasi .NET adalah Memahami Penangan Bagian - File App.config .
sumber
Di Windows Forms, Anda memiliki
app.config
file yang sangat mirip denganweb.config
file tersebut. Tetapi karena yang saya lihat Anda membutuhkannya adalah nilai khusus, saya sarankan menggunakan Pengaturan .Untuk melakukan itu, buka properti proyek Anda, lalu masuk ke pengaturan. Jika file pengaturan tidak ada, Anda akan memiliki link untuk membuatnya. Kemudian, Anda dapat menambahkan pengaturan ke tabel yang Anda lihat di sana, yang akan menghasilkan XML yang sesuai, dan kelas Pengaturan yang dapat digunakan untuk memuat dan menyimpan pengaturan.
Kelas pengaturan akan diberi nama seperti
DefaultNamespace.Properties.Settings
. Kemudian, Anda dapat menggunakan kode yang mirip dengan:sumber
Saya setuju dengan jawaban lain yang mengarahkan Anda ke app.config. Namun, daripada membaca nilai langsung dari app.config, Anda harus membuat kelas utilitas (AppSettings adalah nama yang saya gunakan) untuk membacanya dan mengeksposnya sebagai properti. Kelas AppSettings dapat digunakan untuk menggabungkan pengaturan dari beberapa penyimpanan, seperti nilai dari app.config dan info versi aplikasi dari assembly (AssemblyVersion dan AssemblyFileVersion).
sumber
Cara yang sangat sederhana untuk melakukannya adalah dengan menggunakan kelas kustom Anda sendiri
Settings
.sumber
Menggunakan:
AppSettings sudah tidak digunakan lagi dan sekarang dianggap usang ( link ).
Selain itu, bagian appSettings dari app.config telah diganti dengan bagian applicationSettings .
Seperti yang disebutkan orang lain, Anda harus menggunakan System.Configuration.ConfigurationManager ( link ) yang baru untuk .NET 2.0.
sumber
Versi .NET dan Visual Studio apa yang Anda gunakan?
Saat Anda membuat proyek baru, Anda harus memiliki file dalam solusi Anda yang disebut app.config . Itu adalah file konfigurasi default.
sumber