Все еще существует известная проблема в Microsoft.Net.Test.Sdk , и это потому, что при использовании ConfigurationManager в тестовых приложениях с использованием .Net Core, ConfigurationManager ищет testhost.dll.config , а не ваш стандартный файл конфигурации сборки.
Для этой проблемы существует обходной путь, основанный на это обсуждение в github , в которое вы можете скопировать файл App.Config в выходной каталог с именем testhost.dll.config , поместив этот элемент в ваш тестовый файл csproj:
<Target Name="CopyCustomContent" AfterTargets="AfterBuild">
<Copy SourceFiles="App.config" DestinationFiles="$(OutDir)\testhost.dll.config" />
</Target>
И затем вы можете использовать ConfigurationManager.OpenMappedExeConfiguration для загрузки вашего конфигурационного файла.
ExeConfigurationFileMap map = new ExeConfigurationFileMap();
map.ExeConfigFilename = "testhost.dll.config";
Configuration config = ConfigurationManager.OpenMappedExeConfiguration(map, ConfigurationUserLevel.None);
И, например, для чтения набора настроек вы можете сделать вот так:
var setting = Config.AppSettings.Settings[key];