根据此处发现的大量信息,我们如何才能使外部.config工作?我尝试了相同的设置,我将用于外部appSettings文件,但它无法找到我的自定义部分的文件.
<configSections>
...
<section name="CustomSettings" type="Fully.Qualified.TypeName.CustomSettings, AssemblyName" />
</configSections>
<!-- this works -->
<CustomSettings attrib1="val1" attrib2="val2" .../>
Run Code Online (Sandbox Code Playgroud)
然而...
<!--this does not work-->
<CustomSettings configSource="someExternalFile.config"/>
Run Code Online (Sandbox Code Playgroud)
someExternalFile.config包含的位置
<CustomSettings attrib1="val1" attrib2="val2" .../>
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
我正在玩如何使用Configuration Manager在App.config文件中读取/写入C#中的WPF应用程序的自定义部分.我阅读了关于.NET 2.0 Configuration Demystified的这篇优秀文章,它在使用配置文件方面给了我很多帮助.这是我写的初始App.config文件,它工作正常.
App.config中
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="example" type="CustomConfig.ExampleSection, CustomConfig" />
</configSections>
<example version="A sample string value." />
<appSettings>
<add key="version_string" value="1.01" />
</appSettings>
</configuration>
Run Code Online (Sandbox Code Playgroud)
但当我更改App.config文件时,我的自定义部分将从configSource中提到的外部配置文件中读取,Visual Studio给出了一个错误
configSource文件的格式必须是包含该部分名称的元素.
以下是App.config和example.config文件
更改了App.config
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="example" type="CustomConfig.ExampleSection, CustomConfig" />
</configSections>
<example configSource="example.config" />
<appSettings>
<add key="version_string" value="1.01" />
</appSettings>
</configuration>
Run Code Online (Sandbox Code Playgroud)
example.config
<?xml version="1.0"?>
<example>
<add key="version" value="blahblah" />
</example>
Run Code Online (Sandbox Code Playgroud) 我的asp.net应用程序使用web.config进行常见配置.我还有一个部分将一些数据对象映射到连接字符串,该部分将成千上万行.我想将该部分移动到另一个配置文件"dataMappings.config",所以我不会批量添加web.config - 是否有访问该配置文件的标准机制?
谢谢,安德烈