Konsol uygulaması C # App.Config dosyası


93


Bir dosyanın adını yazmak istediğim bir konsol uygulamam var.

Process.Start("blah.bat");

Normalde, dosyanın adını yazarak windows uygulamasında böyle bir şey olurdu 'blah.bat'için Ayarlar dosya Özellikleri .
Ancak, burada herhangi bir Ayarlar dosyası bulamadım ve aynı amaç için bir app.config ekledim .

Burada app.config dosyasında ne yazacağımı bilmiyorum , bu da Windows Forms'dakine benzer bir şey elde etmeme yol açar .

Örneğin: Windows formlarında. Process.Start(Properties.Settings.Default.BatchFile);
nerede BatchFileÖzellikleri ayarları dosyasında bir dizedir.

Yanıtlar:


217

System.ConfigurationProjenize bir referans ekleyebilir ve ardından:

using System.Configuration;

sonra

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

app.configbunun gibi bir dosyayla:

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

11
ConfigurationSettings.AppSettings["blah.bat"]kullanılabilir ancak bunun eski olduğuna dair bir uyarı verir. ConfigurationManagerYukarıdaki gibi kullanmaya çalıştığımda , ConfigurationManager'ın mevcut bağlamda bulunmadığını belirten bir hata alıyorum. : - /
user1240679

69
System.Configuration'a da bir başvuru eklediğinizden emin olun - usingdurective yalnızca kullanmaya çalıştığınız derlemeye bir referansınız olduğunda çalışır.
xxbbcc

1
geç yorum ama benim için hatam, appSettings'den üst harf 'S'yi

nasıl int veya bool alırım, yani dizge değil
Zapnologica

1
@Zapnologica Düşünüldüğü kadarıyla her şey bir dizedir AppSettings. Sayı içeren ayar dizeleriniz varsa, bunları arayarak int.TryParse()veya benzer şekilde ayrıştırmanız gerekir . Aynı şey, bir dizeden başka bir şeyi ele almak istediğiniz herhangi bir değer için de geçerlidir.
xxbbcc

22

.NET Core için NuGet yöneticisinden System.Configuration.ConfigurationManager ekleyin.
Ve okumak appSetting'in gelen App.config

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

NuGet Yöneticisi'nden System.Configuration.ConfigurationManager ekleyin

görüntü açıklamasını buraya girin

ConfigurationManager.AppSettings.Get("appSetting1")

2

bunu kullan

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

yapılandırmanızı appsettion'a kaydedebilir ve Getir için değer kullanım örneğini kaydedebilirsiniz.
user5705992

1
Çalışma zamanı sürümü 1.x için destek sağlar. Bu artık modası geçmiş . Lütfen kullanınSystem.Configuration.ConfigurationManager.AppSettings
wp78de

1
Referanslarda System.Configuration montajına ihtiyaç vardır.
Muflix
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.