【问题标题】:System.IO.FileLoadException on System.ServiceModel.PrimitivesSystem.ServiceModel.Primitives 上的 System.IO.FileLoadException
【发布时间】:2018-09-25 12:21:59
【问题描述】:

我目前正在开发一个 Xamarin 项目,我需要一些 Xamarin 本身不支持的东西,所以我寻找解决方案。在搞砸了一些 NuGet 之后,我的项目最终出现了一堆奇怪且无法解释的编译错误,随机弹出和消失。 最终我意识到我从共享项目中删除了一个 NuGet,而不是 UWP 项目。从 UWP 中删除后,程序将编译并运行。但似乎造成了更多的伤害......

但是,当我尝试调用在不同文件中定义的类的方法时,它会抛出一个 System.IO.FileLoadException,它以前没有这样做。完整的异常信息是:

System.IO.FileLoadException:'无法加载文件或程序集'System.ServiceModel.Primitives,版本 = 4.5.0.3,文化 = 中性,PublicKeyToken = b03f5f7f11d50a3a'。找到的程序集的清单定义与程序集引用不匹配。 (HRESULT 异常:0x80131040)'

经过一番挖掘,它得出的结论是它可能是由于丢失了金块引起的,我一定是不小心删除了。所以我安装了一个4.5.3版本。没有帮助。重启Visual Studio,没有效果。

我无法安装任何早期版本,因为它被认为是降级。任何线索如何处理这个?

【问题讨论】:

  • 异常消息请求版本4.5.0.3你提到重新安装版本4.5.3。错字?
  • 我无法安装 4.5.0.3。 4.5.0 和 4.5.1 之间没有列出任何内容。尝试安装其中任何一个都会引发错误并取消 NuGet 安装g。
  • 这不是 .NET Framework 错误的重复。这是 UWP 版本地狱导致的 UWP 特定错误消息。有时,UWP 团队会使用与 NuGet 包中的版本不同的 PublicKeyToken 的某些系统包的不同版本来构建实际的运行时版本。因此,当我们更新实际依赖项时,两个包 publicKeyTokens 将不匹配。绑定重定向可能会有所帮助。
  • 我早就完成了这个项目。不确定我是否应该删除问题。

标签: c# fileloadexception


【解决方案1】:

我在我的 UWP 项目中遇到了同样的问题。

我的解决方案是取消检查异常是否为 FaultException。似乎不支持 FaultException。删除检查后,我的方法工作正常,我可以介入等。希望这也能帮助你并解决你的问题。

【讨论】:

    【解决方案2】:

    我的情况是通过将 .NET Standard 的 System.ServiceModel.Primitives 更新到 4.4.4 来解决的。版本如下,

    https://github.com/dotnet/wcf/issues/3088#issuecomment-411603736

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多