这是我在这里看到的一个问题,但解决方案无效。
我有一个像这样设置的多项目解决方案
“控制台”的唯一目的是启动/停止“控制器”,“控制器”处理“插件”。
“Console”是一个控制台应用程序,其他项目是类库。
我刚刚将log4net添加到“Controller”项目中,以便将日志写入数据库。
在DEBUG中它可以很好地工作并登录到SQL。
然而,一旦内置于发布,发布和部署,它就无法记录。
我在控制器“app.config”中保留了所有log4net配置并且知道正在使用它,因为“app.config”还有一些其他设置。
尝试的解决方案 - 所有在调试中工作但未发布/已发布版本
将SQL连接字符串更改为USER&来自Windows的密码
将log4net更改为单独的配置文件,并将构建属性设置为CONTENT并始终复制
使用以下代码在“AssemblyInfo.vb”或“Contoller.vb”文件中配置log4net
Assembly: log4net.Config.XmlConfigurator(ConfigFile:="app.config", Watch:=True)
有什么潜在的想法吗?
注:
如果我删除显式的ConfigFile:=“app.config”记录不起作用
注2:
在服务器上为ConfigFile设置绝对文件路径,使已发布的已安装版本正常工作。这是最好的方法吗?