File App.Config di aplikasi konsol C #


92


Saya memiliki aplikasi konsol di mana saya ingin menulis nama file.

Process.Start("blah.bat");

Biasanya, saya akan memiliki sesuatu seperti itu di aplikasi windows dengan menulis nama file 'blah.bat'ke file Pengaturan di Properties .
Namun, di sini saya tidak menemukan file Pengaturan apa pun dan saya menambahkan app.config untuk tujuan yang sama.

Saya tidak yakin apa yang harus ditulis di sini di app.config , yang akan membuat saya mencapai hal yang sama seperti di Formulir Windows .

Misalnya: Dalam bentuk windows. Process.Start(Properties.Settings.Default.BatchFile);
di mana BatchFilestring dalam file pengaturan di Properties.

Jawaban:


215

Anda dapat menambahkan referensi ke System.Configurationdalam proyek Anda dan kemudian:

using System.Configuration;

kemudian

string sValue = ConfigurationManager.AppSettings["BatchFile"];

dengan app.configfile seperti ini:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
   <appSettings>
       <add key="BatchFile" value="blah.bat" />
   </appSettings>
</configuration>

11
ConfigurationSettings.AppSettings["blah.bat"]tersedia tetapi memberi peringatan bahwa ini sudah usang. Ketika saya mencoba menggunakan ConfigurationManagerseperti di atas, saya mendapatkan pesan kesalahan yang mengatakan ConfigurationManager tidak ada dalam konteks saat ini. : - /
pengguna1240679

69
Pastikan Anda juga menambahkan referensi ke System.Configuration - usingdurective hanya bekerja jika Anda memiliki referensi ke rakitan yang Anda coba gunakan.
xxbbcc

1
terlambat berkomentar tetapi bagi saya kesalahan saya adalah bahwa saya lupa huruf besar 'S' dari appSettings

bagaimana cara mendapatkan int atau bool, yaitu bukan string?
Zapnologica

1
@Zapnologica Semuanya adalah string, sejauh AppSettingsdianggap. Jika Anda memiliki string pengaturan yang berisi angka, Anda harus menguraikannya dengan menelepon int.TryParse()atau sejenisnya. Hal yang sama berlaku untuk nilai lain yang ingin Anda perlakukan selain string.
xxbbcc

21

Untuk .NET Core, tambahkan System.Configuration.ConfigurationManager dari manajer NuGet.
Dan baca appSetting dari App.config

<appSettings>
  <add key="appSetting1" value="1000" />
</appSettings>

Tambahkan System.Configuration.ConfigurationManager dari NuGet Manager

masukkan deskripsi gambar di sini

ConfigurationManager.AppSettings.Get("appSetting1")

2

Gunakan ini

System.Configuration.ConfigurationSettings.AppSettings.Get("Keyname")

Anda dapat menyimpan konfigurasi Anda di appsettion dan untuk mengambil contoh penggunaan nilai.
user5705992

1
Memberikan dukungan untuk runtime versi 1.x. Ini sudah usang sekarang. Silakan gunakanSystem.Configuration.ConfigurationManager.AppSettings
wp78de

1
Rakitan System.Configuration diperlukan dalam referensi.
Muflix
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.