En basit haliyle, app.config, önceden tanımlanmış birçok yapılandırma bölümü ve özel yapılandırma bölümleri desteği olan bir XML dosyasıdır. "Yapılandırma bölümü", bir tür bilgiyi depolamayı amaçlayan şemaya sahip bir XML snippet'idir.
Ayarlar, connectionStrings
veya gibi yerleşik yapılandırma bölümleri kullanılarak yapılandırılabilir.appSettings
. Kendi özel yapılandırma bölümlerinizi ekleyebilirsiniz; bu gelişmiş bir konudur, ancak güçlü yazılan yapılandırma dosyaları oluşturmak için çok güçlüdür.
Web uygulamalarında genellikle web.config, Windows GUI / hizmet uygulamalarında app.config dosyası bulunur.
Uygulama düzeyindeki yapılandırma dosyaları, ayarları global yapılandırma dosyalarından, örneğin machine.config'den devralır.
App.Config'den okuma
Bağlantı dizeleri, kullanabileceğiniz önceden tanımlanmış bir şemaya sahiptir. Bu küçük snippet'in aslında geçerli bir app.config (veya web.config) dosyası olduğuna dikkat edin:
<?xml version="1.0"?>
<configuration>
<connectionStrings>
<add name="MyKey"
connectionString="Data Source=localhost;Initial Catalog=ABC;"
providerName="System.Data.SqlClient"/>
</connectionStrings>
</configuration>
App.config dosyanızı tanımladıktan sonra, ConfigurationManager sınıfını kullanarak kodda okuyabilirsiniz . Ayrıntılı MSDN örnekleriyle korkutmayın; aslında oldukça basit.
string connectionString = ConfigurationManager.ConnectionStrings["MyKey"].ConnectionString;
App.Config dosyasına yazma
* .Config dosyalarını sık sık değiştirmek genellikle iyi bir fikir değildir, ancak yalnızca bir kerelik kurulum yapmak istediğiniz gibi geliyor.
Bkz. Bağlantı dizesini değiştirme ve çalışma zamanındaconnectionStrings
* .config dosyasının bölümünün nasıl güncelleştirileceğini açıklayan app.config dosyasını yeniden yükleyin .
İdeal olarak, bu tür yapılandırma değişikliklerini basit bir yükleyiciden yapacağınızı unutmayın.
Çalışma Zamanında App.Config Konumu
S : Diyelim ki <value>
app.config dosyasındaki bazı öğeleri el ile değiştirdim , kaydedin ve sonra kapatın. Şimdi bin klasörüne gidip .exe dosyasını buradan başlattığımda, uygulanan değişiklikleri neden yansıtmıyor?
Y : Bir uygulamayı derlediğinizde, app.config dosyası, exe'nizle eşleşen bir adla bin dizinine 1 kopyalanır . Örneğin, exe'niz "test.exe" olarak adlandırılmışsa, bin dizininizde bir "text.exe.config" olmalıdır. Yeniden derleme yapmadan yapılandırmayı değiştirebilirsiniz, ancak orijinal app.config dosyasını değil, derleme zamanında oluşturulan yapılandırma dosyasını düzenlemeniz gerekir.
1: web.config dosyalarının taşınmadığını, bunun yerine derleme ve dağıtım sırasında aynı konumda kaldıklarını unutmayın. Bunun bir istisnası, bir web.config dosyasının dönüştürülmesidir .
.NET Core
.NET Core ile yeni yapılandırma seçenekleri sunuldu. * .Config dosyalarının çalışma şekli değişmiş gibi görünmüyor, ancak geliştiriciler yeni, daha esnek yapılandırma paradigmaları seçmekte özgürler.