Как сделать Application.Properties.Settings общедоступным и оставаться таким образом

Я занимаюсь централизацией настроек моего приложения в одном месте, и я решил использовать коллекцию "Настройки" в своей общей библиотеке, чтобы сделать это.

Я переместил все эти настройки в свой собственный файл, который втягивается в мой 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 этот класс будет публичным.

Спасибо!

Ответ 1

Я предполагаю, что вы создали и изменили настройки формы visual studio build в редакторе, к которым можно получить доступ через настройки раздела свойств проекта. В том же редакторе есть комбобокс, который вам нужно изменить от внутреннего к публичному, он помечен как модификатор доступа.

enter image description here