Windows服务无法启动。事件日志状态“注册表文件仍在使用中”

时间:2012-07-03 16:31:41

标签: .net windows-services nlog

对Windows服务进行微小更改并将这些更改部署到生产暂存(Windows Server 2008)后,Windows服务无法启动。

事件日志仅显示

  

Windows检测到您的注册表文件仍被其他人使用   应用程序或服务。该文件现在将被卸载。该   保存您的注册表文件的应用程序或服务可能无法运行   之后恰当。

其中一项更改是NLog配置文件条目,该条目仅适用于生成构建设置,这要归功于Slow Cheetah的魔力。

1 个答案:

答案 0 :(得分:0)

事实证明,生产NLog配置中存在非法的NLog配置设置。

NLog没有向事件日志写入任何诊断信息。在控制台模式下运行服务(我使用一种模式来检查/ console标志作为控制台应用程序而不是服务运行的服务),抛出了一个有用的异常:

Unhandled Exception: System.TypeInitializationException: The type initializer for 'My.Service' threw an exception.
NLog.NLogConfigurationException: Exception occurred when loading configuration from C:\MyService\NLog.config 
---> System.NotSupportedException: Parameter levels not supported on FileTarget   

经验教训:如果使用NLog的Windows服务无法在没有有意义的EventLog条目的情况下启动,请仔细检查NLog配置。

共享Q&A style希望这可以节省15分钟的时间让我整理出来。

相关问题