Я пишу .NET DLL (C #), которая является надстройкой для стороннего продукта. Этот продукт включает это в файл application.exe.config:
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0"/>
</startup>
Моя DLL предназначена для .NET v3.5, и мой файл app.config содержит следующее:
<configSections>
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="myDLL.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
</sectionGroup>
</configSections>
Когда я использую объект «Настройки» (производный от ApplicationsSettingsBase), чтобы сохранить настройку, сохранение выполняется, и данные сохраняются в файле user.config хост-приложения. Тем не менее, он сохраняется с этим в нем (обратите внимание на версию = 4.0.0.0):
<configSections>
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="myDLL.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
<section name="anotherVendorsDLL.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
</sectionGroup>
</configSections>
С сохранением этих настроек моя DLL не будет загружать настройки при последующих запусках хост-приложения. На это влияет поддерживаемое время выполнения файла application.exe.config - его изменение или удаление будет означать, что файл user.config будет сохранен с другой версией = X.X.X.X. С версией = 2.0.0.0 мои настройки загружаются просто отлично.
Как я могу без проблем загрузить / сохранить свои настройки без обновления файла host application.exe.config? Или мне нужно рассмотреть вопрос об использовании альтернативного места хранения для настроек моего приложения, например как мой собственный файл конфигурации XML или реестр?