启动有状态服务时无法加载文件或程序集“System.ServiceModel,Version=4.0.0.0”异常

Posted

技术标签:

【中文标题】启动有状态服务时无法加载文件或程序集“System.ServiceModel,Version=4.0.0.0”异常【英文标题】:Could not load file or assembly 'System.ServiceModel, Version=4.0.0.0' exception when starting Stateful Service 【发布时间】:2018-11-16 18:11:26 【问题描述】:

我在 Visual Studio 2017(版本 15.7.1)中创建了一个新的 Service Fabric 应用程序,并使用 .Net Core 2.0 Stateful Service 模板添加了一个新服务。

当我尝试运行服务时,它无法正确启动,并且我可以在诊断事件中看到以下异常:

Description='副本在 _Node_0 上打开期间出现多次故障。 API 调用:IStatefulServiceReplica.ChangeRole(P);

错误 = System.IO.FileNotFoundException (-2147024894) 无法加载文件或程序集“System.ServiceModel,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089”。 系统找不到指定的文件。

【问题讨论】:

【参考方案1】:

我通过安装 Nuget 包System.ServiceModel.Primitives解决了这个问题:

PM> Install-Package System.ServiceModel.Primitives

【讨论】:

以上是关于启动有状态服务时无法加载文件或程序集“System.ServiceModel,Version=4.0.0.0”异常的主要内容,如果未能解决你的问题,请参考以下文章

无法加载文件或程序集“System.Windows.Interactivity”[重复]

无法加载文件或程序集'System.ValueTuple'

System.BadImageFormatException:无法加载文件或程序集(来自 installutil.exe)

无法加载文件或程序集 System.Web.WebPages.Razor, , Version=3.0.0.0 或其依赖项之一

无法加载文件或程序集...尝试加载格式不正确的程序 (System.BadImageFormatException)

无法加载文件或程序集“System.Private.CoreLib...”