Как включить атрибут configSource для раздела пользовательской конфигурации в .NET? - PullRequest
27 голосов
/ 29 декабря 2008

следуя огромному количеству найденной информации здесь как мы можем заставить работать внешний .config? Я попробовал ту же настройку, которую использовал бы для внешнего файла appSettings, но он не может найти файл для своего пользовательского раздела.

<configSections>
...
    <section name="CustomSettings" type="Fully.Qualified.TypeName.CustomSettings, AssemblyName" />
</configSections>
<!-- this works -->
<CustomSettings attrib1="val1" attrib2="val2" .../>

однако ...

<!--this does not work-->
<CustomSettings configSource="someExternalFile.config"/>

где someExternalFile.config будет содержать

<CustomSettings attrib1="val1" attrib2="val2" .../>

есть идеи?

1 Ответ

23 голосов
/ 29 декабря 2008

Фактический файл, должен быть размещен относительно выходной папки проекта (по умолчанию "\ bin \ debug" или "bin \ Release"

Кроме того, файл в дереве вашего проекта, посмотрите свойства файла и убедитесь, что для параметра «Копировать в выходной каталог» установлено значение «Копировать всегда» или «Копировать, если новее»

РЕДАКТИРОВАТЬ: убедитесь, что отдельный файл конфигурации имеет заголовок элемента XML. Все содержимое файла должно выглядеть следующим образом:

<?xml version="1.0" encoding="utf-8" ?>
<CustomSettings attrib1="val1" attrib2="val2" .../>
...