Файлы конфигурации.NET configSource вне папки каталога приложения

A $ перед одинарными кавычками «...\n ...» следующим образом, однако двойные кавычки не работают.

$ echo $'Hello\nWorld'
Hello
World
$ echo $"Hello\nWorld"
Hello\nWorld
80
задан Robert MacLean 20 February 2009 в 10:54
поделиться

7 ответов

Другое решение состоит в том, чтобы просто добавить конфигурационный файл во всех Ваших проектах как ссылка вместо того, чтобы на самом деле копировать файл в Ваши проекты. Затем установите "Действие Сборки" файла к "Содержанию" и "Копии для Вывода Каталога", чтобы "Скопировать, если более новый" и когда Вы компилируете проект, у Вас будет файл в выходном каталоге.

Для добавления файла как ссылки в диалоговом окне "Add Existing Item" существует кнопка Add с выпадающим. Выберите "Add as link" из выпадающего на кнопке Add для завершения процесса.

101
ответ дан Community 24 November 2019 в 09:52
поделиться

Кажется, что это, это - способ, которым это. configSource должен быть в той же папке или глубже.

Вы могли , хотя я не уверен, что Вы должны , использовать NTFS hardlink. [безумная усмешка]

16
ответ дан Iain M Norman 5 November 2019 в 17:36
поделиться

Решение, которое я нашел работавшим лучше всего, состояло в том, чтобы поместить "общие" файлы конфигурации в центральные файлы и затем использовать событие перед сборкой в Visual Studio для копирования их в относительную папку каждого проекта, для которого был нужен он.

2
ответ дан Robert MacLean 5 November 2019 в 17:36
поделиться

Можно загрузить конфигурацию из произвольного местоположения, , но это не будет доступно через статические свойства ConfigurationManager:

Configuration myConfig = ConfigurationManager.OpenExeConfiguration(path)

(Существует перегрузка, которая позволяет multuple файлам быть указанными, поддерживать default/user-roaming/user-local иерархию.)

Потеря статических свойств означает все потребности кода знать о другой конфигурации.

8
ответ дан Richard 5 November 2019 в 17:36
поделиться

Можно поместить обе настройки в machine.config, и затем они доступны для всего Вы приложения на сервере.

3
ответ дан freggel 5 November 2019 в 17:36
поделиться

В appSettings вы можете использовать file = вместо configSource =

34
ответ дан 24 November 2019 в 09:52
поделиться

У меня были серьезные проблемы с этой проблемой, но я нашел здесь хорошее решение: тестовый запуск с внешней конфигурацией

(Вы можете направить тестовый запуск для копирования файлов и каталогов в каталог тестового запуска путем редактирования файла .testrunconfig.)

Хотя почему проект типа модульного теста может получить настройки конфигурации из своего собственного app.config, но не сможет загружать указанные файлы конфигурации, такие как нормальный app.config меня немного сбивает с толку. Я бы назвал это ошибкой, потому что вы ожидаете, что тестовый проект app.config будет вести себя так же, как ведет себя app.config приложения, но это не так.

2
ответ дан 24 November 2019 в 09:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: