Вопрос

Я использую Configuration Manager для хранения настроек в приложении C #.У меня есть некоторые отдельные настройки, и у меня есть вариабельный массив настроек.

Конфигурация XML выглядит что-то подобное:

<?xml version="1.0"?>
<configuration>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />
  </startup>
  <appSettings>
    <add key="Option" value="Tabbed" />
    <add key="Version" value="0.0.0.0" />
    <Tee1>
      <add key="Name" value="Test1" />
      <add key="IPAddress" value="127.0.0.1" />
      <add key="Port" value="58323" />
      <add key="AutoConnect" value="True" />
      <add key="Link" value="False" />
      <add key="Link" value="False" />
    </Tee1>
    <Tee2>
      <add key="Name" value="Test2" />
      <add key="IPAddress" value="127.0.0.1" />
      <add key="Port" value="58324" />
      <add key="AutoConnect" value="True" />
      <add key="Link" value="False" />
      <add key="Link" value="False" />
    </Tee2>
    <Tee3>
      <add key="Name" value="Test3" />
      <add key="IPAddress" value="localhost" />
      <add key="Port" value="58325" />
      <add key="AutoConnect" value="False" />
      <add key="Link" value="True" />
      <add key="Link" value="False" />
    </Tee3>
    <Tee4 />
    <Tee5 />
    <Tee6 />
    <Tee7 />
    <Tee8 />
    <Tee9 />
    <Tee10>
      <add key="Name" value="Test10" />
      <add key="IPAddress" value="127.0.0.1" />
      <add key="Port" value="58332" />
      <add key="AutoConnect" value="False" />
      <add key="Link" value="False" />
      <add key="Link" value="False" />
    </Tee10>
  </appSettings>
</configuration>
.

Записи TEE без данных являются нулевыми элементами.

Когда я загружаю сгенерированный XML текст в редактор Visual Studio 2010, он показывает, что TEE1 имеет ошибку.

«Элемент« Appsettings »имеет неверный элемент ребенка« Tee1 ».Список возможных элементов ожидается: «Добавить, удалить.Ясно »."

Как я должен представлять собой массив подобных предметов?

Это было полезно?

Решение

Вы можете хранить только параметры key=value в <appSettings>.Если вы хотите что-то более богаче, вам нужно будет написать пользовательский обработчик раздела настройки.

см., Например:

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top