Saya telah melakukan proyek di C # .NET di mana file database saya adalah buku kerja Excel. Karena lokasi string koneksi sulit dikodekan dalam pengkodean saya, tidak ada masalah untuk menginstalnya di sistem saya, tetapi untuk sistem lain ada.
Apakah ada cara untuk meminta pengguna untuk menetapkan jalur setelah pengaturan aplikasi selesai?
Jawaban yang saya dapatkan adalah "Gunakan App.Config" ... adakah yang bisa tahu apa itu App.config dan bagaimana menggunakannya dalam konteks saya di sini?
c#
.net
app-config
shyam
sumber
sumber
Jawaban:
Paling sederhana, app.config adalah file XML dengan banyak bagian konfigurasi yang tersedia dan dukungan untuk bagian konfigurasi khusus. "Bagian konfigurasi" adalah potongan XML dengan skema yang dimaksudkan untuk menyimpan beberapa jenis informasi.
Pengaturan dapat dikonfigurasi menggunakan bagian konfigurasi bawaan seperti
connectionStrings
atauappSettings
. Anda dapat menambahkan bagian konfigurasi khusus Anda sendiri; ini adalah topik lanjutan, tetapi sangat kuat untuk membangun file konfigurasi yang sangat diketik.Aplikasi web biasanya memiliki web.config, sedangkan Windows GUI / aplikasi layanan memiliki file app.config.
File konfigurasi tingkat aplikasi mewarisi pengaturan dari file konfigurasi global, mis. Machine.config.
Membaca dari App.Config
String koneksi memiliki skema yang telah ditentukan yang dapat Anda gunakan. Perhatikan bahwa cuplikan kecil ini sebenarnya file app.config (atau web.config) yang valid:
Setelah mendefinisikan app.config, Anda dapat membacanya dalam kode menggunakan kelas ConfigurationManager . Jangan terintimidasi oleh contoh-contoh MSDN verbose; sebenarnya cukup sederhana.
Menulis ke App.Config
Sering mengubah file * .config biasanya bukan ide yang baik, tetapi sepertinya Anda hanya ingin melakukan pengaturan satu kali.
Lihat: Ubah string koneksi & muat ulang app.config pada saat run time yang menjelaskan cara memperbarui
connectionStrings
bagian file * .config saat runtime.Perhatikan bahwa idealnya Anda akan melakukan perubahan konfigurasi seperti itu dari penginstal sederhana.
Lokasi App.Config di Runtime
T : Misalkan saya secara manual mengubah beberapa
<value>
di app.config, simpan dan tutup. Sekarang ketika saya pergi ke folder bin saya dan meluncurkan file .exe dari sini, mengapa itu tidak mencerminkan perubahan yang diterapkan?A : Ketika Anda mengompilasi aplikasi, app.config-nya disalin ke direktori bin 1 dengan nama yang cocok dengan exe Anda. Misalnya, jika exe Anda bernama "test.exe", harus ada "text.exe.config" di direktori bin Anda. Anda dapat mengubah konfigurasi tanpa kompilasi ulang, tetapi Anda harus mengedit file konfigurasi yang dibuat pada waktu kompilasi, bukan app.config yang asli.
1: Perhatikan bahwa file web.config tidak dipindahkan, tetapi tetap berada di lokasi yang sama pada waktu kompilasi dan penyebaran. Satu pengecualian untuk ini adalah ketika web.config diubah .
.NET Core
Opsi konfigurasi baru diperkenalkan dengan .NET Core. Cara file * .config berfungsi tampaknya tidak berubah, tetapi pengembang bebas memilih paradigma konfigurasi baru yang lebih fleksibel.
sumber
Secara sederhana, App.config adalah
XML
format file berbasis yang menampung Konfigurasi Level Aplikasi .Contoh:
Anda dapat mengakses konfigurasi dengan menggunakan
ConfigurationManager
seperti yang ditunjukkan pada potongan kode di bawah ini:Catatan:
ConfigurationSettings
adalah metode usang untuk mengambil informasi konfigurasi.sumber
System.Configuration.dll
untuk menggunakan API yang disebutkan di atas.System.Configuration.ConfigurationManager.AppSettings["Key"]
adalah string yang sudah, memanggilnyaToString()
berlebihan.Hanya untuk menambahkan sesuatu yang saya lewatkan dari semua jawaban - bahkan jika itu tampak konyol dan jelas segera setelah Anda tahu:
File tersebut harus dinamai "App.config" atau "app.config" dan dapat ditemukan di proyek Anda pada level yang sama dengan mis. Program.cs.
Saya tidak tahu apakah lokasi lain memungkinkan, nama lain (seperti application.conf, seperti yang disarankan dalam dokumentasi ODP.net) tidak berfungsi untuk saya.
PS. Saya mulai dengan Visual Studio Code dan membuat proyek baru dengan "dotnet new". Tidak ada file konfigurasi yang dibuat dalam kasus ini, saya yakin ada kasus lain. PPS. Anda mungkin perlu menambahkan paket nuget untuk dapat membaca file konfigurasi, dalam kasus .NET CORE itu akan menjadi "dotnet add package System.Configuration.ConfigurationManager --version 4.5.0"
sumber
/resources
App.Config adalah file XML yang digunakan sebagai file konfigurasi untuk aplikasi Anda. Dengan kata lain, Anda menyimpan di dalamnya pengaturan apa pun yang mungkin ingin Anda ubah tanpa harus mengubah kode (dan mengkompilasi ulang). Ini sering digunakan untuk menyimpan string koneksi.
Lihat artikel MSDN ini tentang cara melakukannya.
sumber
Anda dapat mengakses kunci di App.Config menggunakan:
Ambil bagian di Thread ini
sumber
Hanya menambahkan satu poin lagi
Menggunakan app.config bagaimana Anda dapat mengontrol akses aplikasi, Anda ingin menerapkan perubahan tertentu ke seluruh aplikasi menggunakan file konfigurasi aplikasi dan Anda dapat mengakses pengaturan seperti di bawah ini ConfigurationSettings.AppSettings ["Key"]
sumber