Я занимаюсь централизацией настроек моего приложения в одном месте, и я решил использовать коллекцию "Настройки" в своей общей библиотеке, чтобы сделать это.
Я переместил все эти настройки в свой собственный файл, который втягивается в мой app.config с помощью источника конфигурации:
<Common.Properties.Settings configSource="config\Common.Properties.Settings.config" />
Это позволяет мне использовать функцию "Добавить ссылку" Visual Studio для переопределения настроек библиотеки по умолчанию с импортированным конфигурационным файлом в моих веб-приложениях и тестовых приложениях.
Теперь я хочу иметь доступ ко всем этим великим значениям настроек из других моих библиотек и обнаружил, что могу сделать это просто, сделав сгенерированный класс общедоступным:
Файл: Common.Properties.Settings
public sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
Это позволяет мне получить доступ к вещам типа Common.Properties.Settings.Default.MySetting
из моих веб-приложений или модульных тестов. Однако проблема заключается в том, что всякий раз, когда добавляется новый параметр, файл Setting.settings восстанавливается Visual Studio и переводит класс Settings обратно во внутреннее:
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
Итак, мой вопрос заключается в том, знает ли кто-нибудь о возможности переопределить это или, возможно, предложит макро-подход или какой-либо другой метод, чтобы гарантировать, что после восстановления файла Settings.settings этот класс будет публичным.
Спасибо!