2012-01-27 18 views
9

Kullanıcıların kolayca bulabilmesi için windows form uygulamasında user.config dosyasının konumunu görüntülemek istiyorum.user.config dosyasının yerini program aracılığıyla nasıl edinebilirim?

Yolun nasıl oluşturulduğunu anlıyorum: Can I control the location of .NET user settings to avoid losing settings on application upgrade?.

Ancak, bu durum değiştiğinde, özellikle user.config dosya konumunu almak için kolay bir yöntem varsa, uygulamasında bu yolu oluşturmak zorunda kalmamayı tercih ediyorum.

cevap

20

bu deneyin:

var config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoaming); 

MessageBox.Show(config.FilePath); 
+2

Bu tam da ihtiyacım olan şey. ConfigurationUserLevel.PerUserRoamingAndLocal ve ConfigurationUserLevel.PerUserRoaming arasındaki gerçek fark nedir? RoamindAndLocal her iki durumu da kapsayacak gibi görünüyor? –

+0

Geçerli kullanıcı için geçerli olan yerel Yapılandırma nesnesini almak için, userLevel öğesini PerUserRoamingAndLocal olarak ayarlayın. Geçerli kullanıcı için geçerli olan dolaşımdaki Configuration nesnesini almak için userLevel öğesini PerUserRoaming olarak ayarlayın. –

1

Configuration -object'i almak için ConfigurationManager'u kullanın. Configuration -object, FilePath bir dize özelliğine sahiptir. Bkz: Configuration-Members

4

uygulamanın çalıştığı, ConfigurationUserLevel.PerUserRoamingAndLocal sen ConfigurationUserLevel.PerUserRoaming yerine aradığınız özellik olabilir şekline bağlı olarak;

yani:

var config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal); 
MessageBox.Show(config.FilePath); 

bu kullanmak için projenizin referanslarında System.Configuration olduğundan emin olun.

İlgili konular