powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / DLL и app.config
5 сообщений из 5, страница 1 из 1
DLL и app.config
    #38678171
Pavluha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Возникла проблема с файлом app.config для dll.
Всегда возвращает старое значение, а не измененное в файле.
Скиньте ссылочку или решение.


Почитал в интете, что для длл не так все просто.
...
Рейтинг: 0 / 0
DLL и app.config
    #38678300
ValGer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PavluhaВозникла проблема с файлом app.config для dll.
Всегда возвращает старое значение, а не измененное в файле.
Скиньте ссылочку или решение.


Почитал в интете, что для длл не так все просто.

Что возвращает-то? И где вы прочитали в инете?
Может быть нужно пользоваться свойствами проекта, в котором создаётся DLL (Resource , Settings)?
...
Рейтинг: 0 / 0
DLL и app.config
    #38678470
Pavluha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ValGer,

Именно так и делаю. Всегда возвращает дефолтное значение, как не менял его в файле app.config.
...
Рейтинг: 0 / 0
DLL и app.config
    #38678477
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PavluhaВозникла проблема с файлом app.config для dll.
Всегда возвращает старое значение, а не измененное в файле.
Скиньте ссылочку или решение.


Почитал в интете, что для длл не так все просто.
Значения извлекаются из самой dll, т.к. для настроек по умолчанию стоит опция GenerateDefaultValueInCode = True, и значение настройки в сериализованном виде прописывается в атрибут DefaultSettingValueAttribute. Поскольку в app.config основного приложения не прописываются секции из dll проекта, то и извлекаются значения по умолчанию, сохраненные в коде. Это всё касается только настроек с application scope, настройки dll с user scope нормально подхватывают измененные значения. Поэтому, если нужно, чтобы нормально возвращались измененные значения настроек из dll, их нужно либо переместить в user scope, либо вручную править app.config. Вариантов здесь 2: поместить настройки dll в сам app.config основного приложения, либо оставить их в отдельном файле. В любом случае в секцию sectionGroup name="applicationSettings" нужно будет добавить узел настроек dll:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
      <section name="MyApplication.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
      <!-- DLL settings-->
      <section name="mydll.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
    </sectionGroup>
    <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
      .....


и далее в узел <applicationSettings> добавить:
1) для просто внедренных в app.config настроек - сами настройки а-ля
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
<applicationSettings>
  <MyApplication.Properties.Settings>
    <setting name="Foo" serializeAs="String">
      <value>foo</value>
    </setting>
    ......
  </MyApplication.Properties.Settings>

  <!-- DLL settings-->
  <mydll.Properties.Settings>
    <setting name="Bar" serializeAs="String">
      <value>bar</value>
    </setting>
    ....
  <mydll.Properties.Settings>
</applicationSettings>


2) для настроек в отдельном файле:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<applicationSettings>
  <MyApplication.Properties.Settings>
    <setting name="Foo" serializeAs="String">
      <value>foo</value>
    </setting>
    ......
  </MyApplication.Properties.Settings>

  <!-- DLL settings-->
  <mydll.Properties.Settings configSource="mydll.dll.config" />
</applicationSettings>


а сам файл настроек mydll.dll.config должен выглядеть примерно так:
Код: xml
1.
2.
3.
4.
5.
6.
7.
<?xml version="1.0" encoding="utf-8"?>
<mydll.Properties.Settings>
  <setting name="Bar" serializeAs="String">
    <value>bar</value>
  </setting>
  ....
</mydll.Properties.Settings>


и находиться в той же папке, что и конфиг основного приложения - атрибут configSource не поддерживает ни абсолютных, ни относительных путей.
...
Рейтинг: 0 / 0
DLL и app.config
    #38678486
Pavluha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сон Веры Павловны,

Спасибо! Про это и читал. Сделал пока через ini-файл. Файл настроек должен быть рядом с длл. А вызывающее приложение вообще находится в другой папке.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / DLL и app.config
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]