Это заняло целый день, просматривая форумы. Я использую. NET Core 3.0 в Visual Studio Community 2019. По сути, мой ConfigurationManager пытался получить доступ к файлу конфигурации из ~ \ bin \ debug \ netcoreapp3.0 \ DESCLogicFramework.dll.config. Откуда этот файл произошел, я понятия не имею, но я предполагаю, что он был создан автоматически при создании моего приложения. Итог, я должен был переписать это.
Примечание: я выяснил это, используя:
var configfile = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
, а затем изучив объект configfile в отладчике и найдя свойство с именем "Filepath".
Шаги, которые я предпринял, чтобы исправить это, были:
Переименуйте мой файл app.config в «assemblyname'.exe.config», например, мой в итоге оказался «DESCLogicFramework.exe.config» "
Поместите этот файл конфигурации в мою директорию проекта root.
Измените свойство конфигурации файла Действия сборки на" Определение приложения "и его свойство «Копировать в выходной каталог» в «Копировать, если новее». И то, и другое можно открыть, щелкнув правой кнопкой мыши по вашему файлу конфигурации и выбрав «Свойства». Откроется окно Свойства.
Открыв файл проекта .csproj и добавив следующие строки xml прямо перед закрывающим ProjectTag, вы сообщаете сборке, что нужно скопировать ваш Файл .config в папку сборки и укажите расширение .dll.config.
<!-- START: This is a buildtime work around for https://github.com/dotnet/corefx/issues/22101 -->
<Target Name="CopyCustomContent" AfterTargets="AfterBuild">
<Copy SourceFiles="DescLogicFramework.exe.config" DestinationFiles="$(OutDir)\DescLogicFramework.dll.config" />
</Target>
<!-- END: This is a buildtime work around for https://github.com/dotnet/corefx/issues/22101 -->
После этого я убедился, что проект "использует System.Configuration", и получил доступ к содержимому файла с помощью
var conn = ConfigurationManager.ConnectionStrings["DBconnection"];
Редактировать: я все еще не вижу Редактора настроек в свойствах моего проекта, но я смог решить проблему, которая у меня была без нее.