Windows 通用应用程序:无法加载文件或程序集 - 找到的程序集的清单定义与程序集引用不匹配

Posted

技术标签:

【中文标题】Windows 通用应用程序:无法加载文件或程序集 - 找到的程序集的清单定义与程序集引用不匹配【英文标题】:Windows Universal App: Could not load file or assembly - The located assembly's manifest definition does not match the assembly reference 【发布时间】:2015-10-30 10:01:42 【问题描述】:

我正在试用新的 Windows 通用应用程序,但无法使用该应用程序所需的 .net API 使其工作。 The API in question is for a software our company uses called Moraware.

我可以为 .Net 4.6 构建一个 C# 经典桌面 Windows 窗体应用程序,引用 .dll 并且它可以正常工作。

当我编写一个 C# 通用应用程序时,它可以正常构建,但是当我使用 API 执行任何操作(如 Connection.GetJob(12345))时,我收到以下错误:

无法加载文件或程序集“System.Xml,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b743552344e089”或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。 (HRESULT 异常:0x80131040)

我尝试添加 System.Xml 作为引用,但我收到错误:无法添加对 System.XML.dll 的引用。该组件已被构建系统自动引用。

我还添加了适用于 Windows 的 Microsoft .NET Core 运行时包和适用于 UWP 的 Windows 桌面扩展,但没有任何改变。

关于如何让这个 api 与通用 Windows 应用程序一起工作的任何想法?

【问题讨论】:

【参考方案1】:

我猜引用的库不是可移植类库,它本身引用了一个完整的 .Net Framework System.XML。此程序集不适用于 UWP 加载程序,或者如果加载的程序集与随 UWP 分发的 .Net SDK(基于 .Net Core)不兼容。

【讨论】:

以上是关于Windows 通用应用程序:无法加载文件或程序集 - 找到的程序集的清单定义与程序集引用不匹配的主要内容,如果未能解决你的问题,请参考以下文章

无法加载文件或程序集“Microsoft.Windows.Design.Host,

无法加载文件或程序集“Microsoft.WindowsAzure.Storage”Azure 函数

无法加载文件或程序集“Microsoft.Management.Infrastructure

无法加载文件或程序集 SMDiagnostics.dll

例外:无法加载文件或程序集 XXXX 或其依赖项之一。该系统找不到指定的文件

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