Share via


ClickOnce ve uygulama ayarları

Windows Forms için uygulama ayarları, istemcide özel uygulama ve kullanıcı tercihleri oluşturmayı, depolamayı ve korumayı kolaylaştırır. Aşağıdaki belgede, uygulama ayarları dosyalarının bir ClickOnce uygulamasında nasıl çalıştığı ve kullanıcı sonraki sürüme yükseltildiğinde ClickOnce'ın ayarları nasıl geçirdiği açıklanır.

Aşağıdaki bilgiler yalnızca varsayılan uygulama ayarları sağlayıcısı olan LocalFileSettingsProvider sınıfı için geçerlidir. Özel bir sağlayıcı sağlarsanız, bu sağlayıcı verilerini nasıl depoladığını ve ayarlarını sürümler arasında nasıl yükselteceğini belirler. Uygulama ayarları sağlayıcıları hakkında daha fazla bilgi için bkz . Uygulama ayarları mimarisi.

Uygulama ayarları dosyaları

Uygulama ayarları iki dosya kullanır: <app.exe.config> ve user.config; burada uygulama, Windows Forms uygulamanızın adıdır. user.config , uygulamanız kullanıcı kapsamlı ayarları ilk kez depolandığında istemcide oluşturulur. <app.exe.config> ise, ayarlar için varsayılan değerleri tanımlarsanız dağıtım öncesinde mevcut olur. Visual Studio, Yayımla komutunu kullandığınızda bu dosyayı otomatik olarak ekler. ClickOnce uygulamanızı Mage.exe veya MageUI.exe kullanarak oluşturursanız, uygulama bildiriminizi doldururken bu dosyanın uygulamanızın diğer dosyalarına eklendiğinden emin olmanız gerekir.

Dekont

.NET Core 3.1 ve .NET 5 veya üzeri için ClickOnce'da, Mage.exe yerine dotnet-mage.exe kullanın. Daha fazla bilgi için bkz . .NET için ClickOnce.

ClickOnce kullanılarak dağıtılmayan bir Windows Forms uygulamasında, bir uygulamanın <app.exe.config> dosyası uygulama dizininde, user.config dosyası ise kullanıcının Belgeler ve Ayarlar klasöründe depolanır. ClickOnce uygulamasında app.exe.config>, <ClickOnce uygulama önbelleğinin içindeki uygulama dizininde, user.config ise bu uygulamanın ClickOnce veri dizininde yer alır.

Uygulamanızı nasıl dağıttığınızdan bağımsız olarak, uygulama ayarları app.exe.config'e ><güvenli okuma erişimi ve user.config'e güvenli okuma/yazma erişimi sağlar.

ClickOnce uygulamasında, uygulama ayarları tarafından kullanılan yapılandırma dosyalarının boyutu ClickOnce önbelleğinin boyutuyla kısıtlanır. Daha fazla bilgi için bkz . ClickOnce önbelleğine genel bakış.

.NET Core ve .NET 5+

Şu anda yayımlanacak bir .NET Core derlemesi, tanımlayıcı ad anahtar dosyasıyla imzalanmalıdır. Değilse, ApplicationSettingsBase.Upgrade yöntem yeni bir ClickOnce yayımladıktan sonra ayarları doğru kopyalamaz. .NET Core projesinin özelliklerinde, Güçlü Derle > adlandırma seçeneğinin altında bir tanımlayıcı ad kullanımını belirtebilirsiniz.

Sürüm yükseltmeleri

Bir ClickOnce uygulamasının her sürümü diğer tüm sürümlerden yalıtılmış olduğu gibi, ClickOnce uygulamasının uygulama ayarları da diğer sürümlerin ayarlarından yalıtılır. Kullanıcınız uygulamanızın daha sonraki bir sürümüne yükselttiğinde, uygulama ayarları en son (en yüksek numaralı) sürümün ayarlarını güncelleştirilmiş sürümle sağlanan ayarlarla karşılaştırır ve ayarları yeni bir ayar dosyaları kümesiyle birleştirir.

Aşağıdaki tabloda uygulama ayarlarının hangi ayarların kopyalandığına nasıl karar verildiği açıklanmaktadır.

Değişiklik Türü Yükseltme Eylemi
app.exe.config'e <>eklenen ayar Yeni ayar geçerli sürümün <app.exe.config> ile birleştirilir
Ayar app.exe.config> dosyasından kaldırıldı < Eski ayar geçerli sürümün <app.exe.config> dosyasından kaldırılır
Ayarın varsayılanı değiştirildi; yerel ayar hala user.config dosyasında özgün varsayılana ayarlanmış Ayar, yeni varsayılan değer olarak geçerli sürümün user.config değeriyle birleştirilir
Ayarın varsayılanı değiştirildi; ayarı user.config içinde varsayılan olmayan olarak ayarlanmış Ayar, varsayılan olmayan değer korunarak geçerli sürümün user.config ile birleştirilir

Kendi uygulama ayarları sarmalayıcı sınıfınızı oluşturduysanız ve güncelleştirme mantığını özelleştirmek istiyorsanız yöntemini geçersiz kılabilirsiniz Upgrade .

ClickOnce ve dolaşım ayarları

ClickOnce, dolaşım ayarlarıyla çalışmaz ve bu da ayarlar dosyanızın ağdaki makineler arasında sizi takip etmesini sağlar. Dolaşım ayarlarına ihtiyacınız varsa, ayarları ağ üzerinden depolayan bir uygulama ayarları sağlayıcısı uygulamanız veya uzak bir bilgisayarda ayarları depolamak için kendi özel ayarlar sınıflarınızı geliştirmeniz gerekir. Ayarlar sağlayıcıları hakkında daha fazla bilgi için bkz . Uygulama ayarları mimarisi.