尝试从WindowsService处置Microsoft.Diagnostics.Tracing.Session.TraceEventSession时发生FileLoadException

时间:2018-11-23 10:04:02

标签: c# windows-services .net-4.6.1 fileloadexception

我的WCF服务托管在Windows服务中。希望将服务类创建为单个,因此相应地提到了WCF服务类的servicebehavior属性。在Windows服务主机的OnStart上,我创建此类的实例,然后使用该实例创建我的服务主机。在Windows服务的OnStop上,我需要在服务类上调用dispose,以确保处置在创建服务类实例时在OnStart期间(在WCF服务端)创建的Microsoft.Diagnostics.Tracing.Session.TraceEventSession。但是当尝试使用如下消息处理会话时出现异常。我的程序集都是.net 4.6.1版本,现在无法移动到4.7。 Nuget引用了System.Diagnostic.Tracing.TraceEvent dll版本2.0.26(在WCF服务和BL dll上,实际上维护了会话对象,WCF服务引用该dll)。然后,我再次在WCF服务和版本4.3.0的Windows主机上安装了System.Runtime nuget。

抛出异常:Microsoft.Diagnostics.Tracing.TraceEvent.dll中的'System.IO.FileLoadException'

其他信息:无法加载文件或程序集'System.Runtime,版本= 4.1.0.0,区域性=中性,PublicKeyToken = b03f5f7f11d50a3a'或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。 (来自HRESULT的异常:0x80131040)。

请告知是否需要更多信息以了解问题。

0 个答案:

没有答案