#c# #.net-core #config
#c# #.net-core #конфигурация
Вопрос:
У меня есть файл консольного приложения .NET Core, который использует файл .config.
Это опция «Копировать при необходимости», выбранная в свойствах .config, и код ExcludeFromSingleFile=true, добавленный в проект:
После публикации проекта как отдельного отдельного файла я вижу .exe, .pdb и два файла .config:
Насколько я понимаю, конфигурационный файл не виден для программы. Когда я проверяю значение переменной, оно показывает пустую строку. Это имеет смысл, поскольку я исключаю файл конфигурации из одного файла, хотя есть ли способ иметь один EXE-файл с допустимым файлом .config?
Если я опубликую программу без отмеченной опции «один файл», все работает правильно.
Комментарии:
1. Просто чтобы убедиться. После компиляции значения конфигурации должны быть в MyApp.dll.config. Это тоже одно и то же?
2. Как вы загружаете / считываете конфигурационный файл в своем коде? Кроме того, .NET Core обычно использует файлы appsettings.json для настройки вместо App.config: docs.microsoft.com/en-us/dotnet/core/extensions /…
3. @Fred Да, значения те же, хотя, когда я их изменяю, изменение не видно программе.
4. @devNull Правильно ли я понимаю, что appsettings.json используется только для проектов ASP? У меня возникли проблемы с добавлением его в мое консольное приложение.
5. @Fred Я только что понял, что значения конфигурации вообще не отображаются при публикации в виде одного файла (см. Обновленное Описание проблемы). У вас есть какие-либо мысли? И спасибо за ваш первый комментарий, он помог мне понять ситуацию.