发现App.config文件跟Settings.settings.cs文件的内容有重复
发现App.config文件和Settings.settings.cs文件的内容有重复。
例如,我建立了一个数据源,那么在Settings.setting.cs里面就会多出这样的一段代码:
而在App.config文件里面多出了下面这些内容:
问题是,在<connectionStrings>当中,既然<add>已经在name特性中,引用了上述定义的myConnectionString,那么为什么还要把Settings.settings当中myConnectionString的特性再次写一遍到connectionString这个特性里面?
感觉相同的内容:
在两个文件里面都声明了一遍啊,这算是一种重复吗,还是说这么保存两份相同的逻辑是有意义的?
还请指教!
------解决方案--------------------
都是配置文件吧,app.config是在应用时可方便修改配置,一个是应用前要做好配置,感觉是这样。
------解决方案--------------------
Settings.setting.cs里标记的是默认值
App.config里储存的是实际值
------解决方案--------------------
在app.config里储存的就是实际值,不管它是attribute还是text。默认值是直接嵌入程序集里并且是难以修改的,提供这个值是为app.config丢失时提供备选。
例如,我建立了一个数据源,那么在Settings.setting.cs里面就会多出这样的一段代码:
[global::System.Configuration.ApplicationScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.SpecialSettingAttribute(global::System.Configuration.SpecialSetting.ConnectionString)]
[global::System.Configuration.DefaultSettingValueAttribute("Data Source=(local);Initial Catalog=my;Integrated Security=True")]
public string myConnectionString {
get {
return ((string)(this["myConnectionString"]));
}
}
而在App.config文件里面多出了下面这些内容:
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<connectionStrings>
<add name="WindowsFormsApplication2.Properties.Settings.myConnectionString"
connectionString="Data Source=(local);Initial Catalog=my;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
问题是,在<connectionStrings>当中,既然<add>已经在name特性中,引用了上述定义的myConnectionString,那么为什么还要把Settings.settings当中myConnectionString的特性再次写一遍到connectionString这个特性里面?
感觉相同的内容:
"Data Source=(local);Initial Catalog=my;Integrated Security=True"
在两个文件里面都声明了一遍啊,这算是一种重复吗,还是说这么保存两份相同的逻辑是有意义的?
还请指教!
------解决方案--------------------
都是配置文件吧,app.config是在应用时可方便修改配置,一个是应用前要做好配置,感觉是这样。
------解决方案--------------------
Settings.setting.cs里标记的是默认值
App.config里储存的是实际值
------解决方案--------------------
在app.config里储存的就是实际值,不管它是attribute还是text。默认值是直接嵌入程序集里并且是难以修改的,提供这个值是为app.config丢失时提供备选。