我有一个引用一个DLL的Asp.Net应用程序,该DLL在App.config文件中有多个设置。但是,从Web应用程序的“属性”创建设置时,我无法为Web.config的部分设置名称,因此DLL永远不会读取设置的值。
我从解决方案资源管理器中打开了Web应用程序的属性,选择选项“设置”并创建了一个新的Settings.settings文件。我使用与DLL .settings文件相同的键添加了设置,但是创建的<section>
名称错误(它具有我的Web应用程序的名称空间,而不是DLL的名称空间)。
我在web.config上手动更改了名称,这似乎可以正常工作,但是每当我从“属性”页面添加新密钥时,都会使用错误的部分名称重新创建该组。
我的DLL的app.config:
<applicationSettings>
<DocumentProcessor.Properties.Settings>
<setting name="Language" serializeAs="String">
<value>es-GT</value>
</setting>
<setting name="CasingSelection" serializeAs="String">
<value>Lowercase</value>
</setting>
</DocumentProcessor.Properties.Settings>
</applicationSettings>
我的Web.config的生成标签:
<applicationSettings>
<WebCaller.Properties.Settings>
<setting name="CasingSelection" serializeAs="String">
<value>Titlecase</value>
</setting>
<setting name="Language" serializeAs="String">
<value>es-GT</value>
</setting>
</WebCaller.Properties.Settings>
</applicationSettings>
DLL应该以“标题大小写”(在web.config中指定)生成文本,但是使用默认的“小写”设置(当调用者的web.config中没有匹配设置时,从DLL的app.config中读取) )。