Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 在运行时更改app.config_.net_Log4net_App Config - Fatal编程技术网

.net 在运行时更改app.config

.net 在运行时更改app.config,.net,log4net,app-config,.net,Log4net,App Config,我目前正在尝试在运行时创建app.config。基本思想是,我正在部署几个配置文件,并根据环境变量由应用程序自己决定使用哪个配置文件 目前,我正在将要使用的配置文件复制到myapp.exe.config,并刷新所有部分。 我面临的问题是,log4net似乎把事情搞砸了,但只是在发布版本中(因为静态字段是在不同的时间初始化的) 我明确不想在构建时决定使用哪个配置 有什么想法(可能有更好的方法) 短暂性脑缺血发作 Martin您可以在决定使用什么配置并使用XmlConfigurator.config

我目前正在尝试在运行时创建app.config。基本思想是,我正在部署几个配置文件,并根据环境变量由应用程序自己决定使用哪个配置文件

目前,我正在将要使用的配置文件复制到myapp.exe.config,并刷新所有部分。 我面临的问题是,log4net似乎把事情搞砸了,但只是在发布版本中(因为静态字段是在不同的时间初始化的)

我明确不想在构建时决定使用哪个配置

有什么想法(可能有更好的方法)

短暂性脑缺血发作
Martin

您可以在决定使用什么配置并使用XmlConfigurator.configure(new System.IO.FileInfo(“Filename.config”))将其复制到位后配置log4net

您可以在决定使用什么配置并使用XmlConfigurator.configure(new System.IO.FileInfo(“Filename.config”))将其复制到位后配置log4net

当您启动一个不使用任何设置的
AppDomain
,然后在一个新的
AppDomain
中启动真正的应用程序时,您能在一个
AppDomain
中完成所有复制吗?见鬼,作为一种替代方案,有可能为此采用单独的流程吗?一个引导过程将确保正确的配置到位,然后启动真正的应用程序

在这两种解决方案中,在真正使用任何设置之前,您都会做您需要的一切,这将使事情变得更简单


请注意,静态初始化在某种程度上可以通过静态构造函数的存在或不存在来控制-有关更多详细信息,请参阅。不过,我不建议用它来修复您当前的系统—在维护代码时,它会变得非常脆弱。

当您启动一个不使用任何设置的
AppDomain
应用程序时,您能在一个
AppDomain
中完成所有复制吗?然后在一个新的应用程序中启动真正的应用程序
AppDomain
?见鬼,作为一种替代方案,有可能为此采用单独的流程吗?一个引导过程将确保正确的配置到位,然后启动真正的应用程序

在这两种解决方案中,在真正使用任何设置之前,您都会做您需要的一切,这将使事情变得更简单


请注意,静态初始化在某种程度上可以通过静态构造函数的存在或不存在来控制-有关更多详细信息,请参阅。不过,我不建议用它来修复您当前的系统-在维护代码时,它会变得非常脆弱。

而不是使用配置文件,您不能使用吗?如果这不是用户需要更改的内容,那么您最好提供几组内部范围的设置,并在它们之间切换。

而不是使用配置文件,您不能使用吗?如果用户不需要更改,您最好先提出几组内部范围的设置,然后在它们之间切换。

log4net中甚至有一个
XmlConfigurator.ConfigureAndWatch
方法,每当发生更改时都会重新加载配置。log4net中甚至有一个
XmlConfigurator.ConfigureAndWatch
方法重新加载配置无论何时进行更改,都要进行配置。否,因为我使用的是外部组件,它们需要一些自定义节。否,因为我使用的是外部组件,它们需要一些自定义节。您好,提示如下。我知道添加静态ctor可以解决我的问题,但我想避免这种情况,正如你所说->维护这样的代码并不有趣。嗨,谢谢你的提示。我知道添加静态ctor可以解决我的问题,但我希望避免这种情况,正如您所说->维护这样的代码并不有趣。