общий файл Settings.settings для всего решения - PullRequest
17 голосов
/ 26 апреля 2011

Есть ли способ иметь общий файл свойств для всех проектов решения?

У меня есть консольное приложение и куча других файлов библиотек классов, и я хочу иметь только один файл настроек для них.

Я не говорю о файле app.Config. Я говорю о файле Settings.settings.

Есть идеи, как мне это сделать?

Также рекомендуется хранить параметры конфигурации в файле настроек, а не в app.config?

Ответы [ 3 ]

24 голосов
/ 26 апреля 2011

Поместите файл, которым вы хотите поделиться между проектами, в папку решений.Затем в каждом проекте выберите «Добавить существующий элемент».

В диалоговом окне «Добавить существующий элемент» выберите общий файл.Вместо нажатия кнопки «Добавить» щелкните стрелку раскрывающегося списка справа от кнопки «Добавить» и выберите «Добавить как ссылку» в раскрывающемся меню.

Add As Link

Если этодля файла настроек, вам необходимо установить свойство Custom Tool для этого файла:

file properties

Если ваш файл Settings.settings, вы можете открыть свойства проекта и перейти кВкладка «Настройки» и Visual Studio автоматически установят для вас это свойство пользовательского инструмента.

После настройки пользовательского инструмента вы увидите файл Designer.cs, созданный под файлом настроек.Этот файл Designer.cs содержит сгенерированный код для программной доступности настроек.

Designer sub-file

Как видите, файл Designer.cs также является связанным файлом, и его физическое местоположениебудет таким же, как ваш файл настроек.

10 голосов
/ 11 мая 2013

В качестве альтернативы, вы можете установить Настройки на public вместо internal.

Перейдите в YourProject-> Свойства-> Настройки

enter image description here

2 голосов
/ 09 сентября 2015

Ответ, принятый выше @ quentin-starin, является правильным, но у меня была ситуация, когда указание CustomToolNamespace пригодилось, так как у меня уже были некоторые специфичные для проекта настройки.Установив для пространства имен что-то конкретное, я не получил автоматически сгенерированное пространство имен относительно каждого проекта в решении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...