【发布时间】: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