如何在.NET中为自定义配置节启用configSource属性?

E R*_*cki 27 .net c# configuration app-config configuration-files

根据此处发现的大量信息,我们如何才能使外部.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)

有任何想法吗?

Cha*_*ana 23

实际文件必须相对于项目输出文件夹放置(默认情况下为"\ bin\debug"或"bin\Release"

此外,项目树中的文件,查看文件的属性,并确保"复制到输出目录"设置设置为"始终复制"或"复制如果更新"

编辑:确保单独的配置文件具有xml元素标头.整个文件内容应如下所示:

<?xml version="1.0" encoding="utf-8" ?>
<CustomSettings attrib1="val1" attrib2="val2" .../>
Run Code Online (Sandbox Code Playgroud)

  • 确保该文件有一个xml标题元素,如我编辑的答案中所示...另外,您是否收到错误消息"无法找到外部文件..." (2认同)