Я портирую приложение из .NET Framework на .NET Core (Standard).
Внутри приложения у нас есть следующий код
public LogMessageListenerFromConfig()
: this(AppDomain.CurrentDomain.BaseDirectory.ConfigurationFile, LoggingSection.DefaultName)
{ }
public LogMessageListenerFromConfig(string section)
: this(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile, section)
{ }
public LogMessageListenerFromConfig(string filename, string section)
{
// todo: set up a file watcher and refresh the listeners (etc.) when it changes.
var fileMap = new ExeConfigurationFileMap { ExeConfigFilename = filename };
var configuration = ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None);
_section = LoggingSection.Section(configuration, section);
Refresh();
}
Это похоже на совместимость с.NET Core, кроме следующего утверждения
AppDomain.CurrentDomain.SetupInformation.ConfigurationFile
В домене приложений больше нет SetupInformation
.Честно говоря, я читал, что это может вызвать проблемы и т. Д. Однако, как еще я могу получить имя файла конфигурации приложения в служебном классе?
Обратите внимание, что этот класс будет использоваться как в консоли, так и в asp.net.(основные) приложения.
Любая помощь приветствуется
Стивен