Uygulama yapılandırma dosyasından özel bilgileri depolamak ve almak için Visual C# kullanma
Bu makalede, daha sonra çalışma zamanında ilişkili uygulaması tarafından alınabilecek bir yapılandırma dosyasından özel bilgilerin nasıl depolanabileceği anlatılır. Bir uygulamayla ilişkili verileri tanımlamanız gerektiğinde yararlı olur.
Orijinal ürün sürümü: Visual C#
Özgün KB numarası: 815786
Gereksinimler
Aşağıdaki listede ihtiyacınız olan önerilen donanım ve yazılımlar özetlenmiştir:
- Microsoft Windows
- Visual C#
Bu makalede, aşağıdaki konulara aşina olduğunuz varsayılır:
- Genişletilebilir biçimlendirme dili (XML)
- .NET yapılandırma dosyaları
Yapılandırma dosyasını okuyan bir konsol uygulaması oluşturma
Uygulama ayarlarını, uygulamayla ilişkili yapılandırma dosyasında depolayabilirsiniz. Yapılandırma dosyaları XML biçiminde kaydedilir.
System.Configuration
ve System.Collections.Specialized
.NET Framework ad alanları, çalışma zamanında bir .NET uygulama yapılandırma dosyasından bilgi almak için gerekli sınıfları içerir.
Çalışma zamanında ilişkili bir yapılandırma dosyasının içeriğini okuyan bir konsol uygulaması oluşturmak için şu adımları izleyin:
Visual Studio .NET veya Visual Studio'yu başlatın.
Dosya menüsünde, Yeni'nin üzerine gelin ve Proje'yi seçin.
Proje Türleri'nin altında Visual C# öğesini ve ardından Şablonlar'ın altında Konsol Uygulaması'nı seçin. Projeyi ConConfig olarak adlandırın. Varsayılan olarak, Visual C# Program adlı bir sınıf oluşturur.
Not
Visual Studio .NET'te Proje Türleri'nin altında Visual C# Projeleri'ne ve ardından Şablonlar'ın altında Konsol Uygulaması'nı seçin. Projeyi ConConfig olarak adlandırın. Varsayılan olarak, Visual C# Sınıf1 adlı bir sınıf oluşturur.
Çözüm Gezgini penceresinin görünür olduğundan emin olun. Görünmüyorsa CTRL+ALT+L tuş bileşimine basın.
Çözüm Gezgini proje adına sağ tıklayın, Ekle'yi ve ardından Yeni Öğe'yi seçin.
Yeni Öğe Ekle listesinde XML Dosyası'nı seçin.
Ad metin kutusuna App.configyazın ve Ekle'yi seçin.
Anahtar/değer biçiminde kaydettiğiniz özel uygulama ayarlarını toplamak için bir uygulama yapılandırma dosyası kullanabilirsiniz. İlişkili bir yapılandırma dosyasının
<appSettings>
bölümüne öğeleri ekleyebilirsiniz<add>
. Her anahtar/değer çifti bir<add>
öğeye sahiptir. Bir<add>
öğe aşağıdaki biçime sahiptir:<add key="Key0" value="0" />
ve
</configuration>
etiketleri arasında<configuration>
yapılandırma dosyasına öğeleri içeren<add>
bir<appSettings>
bölüm ekleyin.Örneğin, aşağıdaki yapılandırma dosyası üç anahtar/değer çiftini belirten bir
<appSettings>
bölüm içerir:<?xml version="1.0" encoding="utf-8" ?> <configuration> <appSettings> <add key="Key0" value="0" /> <add key="Key1" value="1" /> <add key="Key2" value="2" /> </appSettings> </configuration>
Çözüm Gezgini'daProgram.cs çift tıklayarak kod penceresini görüntüleyin. Kod modülünüze aşağıdaki deyimleri ekleyin.
Not
Bu deyimler, dosyadaki diğer deyimlerden önce görünmelidir.
using System.Configuration; using System.Collections.Specialized;
Aşağıdaki adımları izleyerek System.Configuration.dll başvuru ekleyin:
- Proje menüsünde Başvuru Ekle'yi seçin.
- Başvuru Ekle iletişim kutusunda .NET sekmesini seçin.
- öğesinin Bileşen Adını
System.Configuration
bulun ve seçin. - Tamam'ı seçin.
Yapılandırma dosyasının bölümündeki bir yapılandırma dosyası anahtarındaki
<appSettings>
değeri tutmak için, bölümünde aşağıdaki gibi bir dize değişkeniMain
bildirin:string sAttr;
Yapılandırma dosyasının bölümünden
<appSettings>
belirtilen anahtarın değerini almak için sınıfının özelliğininConfigurationManager
yönteminiAppSettings
kullanınGet
.ConfigurationManager
sınıfı ad alanındadırSystem.Configuration
.AppSettings.Get
yöntemi anahtar içeren bir dize giriş parametresi aldığında, uygulama anahtarla ilişkili değeri alır.Aşağıdaki kod, ilişkili yapılandırma dosyasından özniteliğinin
Key0
değerini alır. Kod daha sonra bu değeri dize değişkeninesAttr
yerleştirir. Bu değer için bir anahtar yoksa içinde hiçbir şey depolanmazsAttr
.sAttr = ConfigurationManager.AppSettings.Get("Key0");
Uygulamanın Konsol penceresinde alan değeri görüntülemek için aşağıdaki gibi kullanın
Console.WriteLine
:Console.WriteLine("The value of Key0 is "+sAttr);
bölümündeki tüm anahtar/değer çiftlerini almak için özelliğine
<appSettings>
tek bir başvuruAppSettings
kullanabilirsiniz. özelliğini kullandığınızdaAppSettings
, uygulama ilişkili tüm anahtar/değer çiftlerini döndürür. Bu çiftler birNameValueCollection
tür içinde depolanır. ,NameValueCollection
uygulamanın aldığı her anahtar için anahtar/değer girdileri içerir.NameValueCollection
sınıfı ad alanındadırSystem.Collections.Specialized
.NameValueCollection sAll ; sAll = ConfigurationManager.AppSettings;
AllKeys
özelliğininNameValueCollection
özelliği, uygulamanın aldığı her anahtar için bir girişi olan bir dize dizisine başvurur. Uygulamanın aldığından her anahtara erişmek için dizideAllKeys
yineleme yapmak için bir foreach yapısı kullanın. içindekiAllKeys
her anahtar girişi bir dize veri türüdür.Derlemenin
foreach
içinde, konsol penceresinde anahtarı ve ilişkili değerini görüntülemek için kullanınConsole.WriteLine
. Uygulamanın işlediği geçerli anahtar içindedirs
. İlişkili değerini almak için dizinindesAllNameValueCollection
dizin olarak kullanın.foreach (string s in sAll.AllKeys) Console.WriteLine("Key: "+ s + " Value: " + sAll.Get(s)); Console.ReadLine();
Tam kod listesi
using System;
using System.Configuration;
using System.Collections.Specialized;
namespace ConConfig
{
class Program
{
static void Main(string[] args)
{
string sAttr;
// Read a particular key from the config file
sAttr = ConfigurationManager.AppSettings.Get("Key0");
Console.WriteLine("The value of Key0: " + sAttr);
// Read all the keys from the config file
NameValueCollection sAll;
sAll = ConfigurationManager.AppSettings;
foreach (string s in sAll.AllKeys)
Console.WriteLine("Key: " + s + " Value: " + sAll.Get(s));
Console.ReadLine();
}
}
}
Not
Bu kod .NET Framework 2.0'a yöneliktir. .NET Framework 1.0 veya .NET Framework 1.1 kullanıyorsanız, sınıfının tüm örneklerini ConfigurationManager
olarak ConfigurationSettings
değiştirin.
Tam yapılandırma dosyası listesi (ConConfig.exe.config)
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="Key0" value="0" />
<add key="Key1" value="1" />
<add key="Key2" value="2" />
</appSettings>
</configuration>
Çalıştığını doğrulayın
Kodu çalıştırmak için F5 tuşuna basın. Konsol penceresinde, ilişkili yapılandırma dosyasının bölümünde yer alan <appSettings>
anahtar/değer çiftleri aşağıdaki gibi görüntülenmelidir:
The value of Key0: 0
Key: Key0 Value:0
Key: Key1 Value:1
Key: Key2 Value:2
Sorun giderme
Yapılandırma dosyası XML biçiminde kaydedilir. Tüm XML söz dizimi kurallarına uyduğunuzdan emin olun. XML'nin büyük/küçük harfe duyarlı olduğunu unutmayın. XML iyi biçimlendirilmemişse veya bir öğe yanlış yazılmışsa bir
System.Configuration.Configuration
özel durum alırsınız.Örneğin, bir öğenin anahtar özniteliğini
<add>
küçük harf k yerine büyük K harfiyle eklerseniz veya bölüm (küçük harf a yerine A büyük harfle) olarak<AppSettings>
görünürse<appSettings>
bir hata iletisi alırsınız.Yapılandırma dosyasının ilişkili uygulamasıyla aynı klasöre kaydedilmesi gerekir.
Yapılandırma dosyası adı için aşağıdaki söz dizimini kullanmanız gerekir:
<ApplicationName>.<ApplicationType>.configBurada <ApplicationName> , uygulamanın adıdır. <ApplicationType> , gibi
.exe
bir uygulama türüdür. Ve.config
gerekli sonektir.
Başvurular
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin