【问题标题】:WinRT Component which references an x86 PCL: solve "mismatch between processor architecture"引用 x86 PCL 的 WinRT 组件:解决“处理器架构之间的不匹配”
【发布时间】:2017-10-30 01:02:12
【问题描述】:

作为免责声明,我的 WinRT 组件的使用者和我的 WinRT 组件将使用的第三方库都无法更改其架构,因此在这种困境下将资源分配给 Stackoverflow。

我必须创建一个 AnyCPU WinRT 组件,该组件将被 AnyCPU 项目使用。但是,我的组件需要一个针对 x86 的第三方库。这会提示“正在构建的项目的处理器架构“MSIL”与实现文件的处理器架构“x86”不匹配”。

查看此处和其他地方的答案,我尝试将以下内容添加到我的 WinRT 组件项目文件中:

<PropertyGroup>
 <ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>
  None
 </ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>
</PropertyGroup>

无济于事。我错过了什么吗?

【问题讨论】:

  • 当您知道它只能在 x86 上运行时以 AnyCPU 为目标是没有用的。

标签: c# windows-runtime


【解决方案1】:

在 Windows 10/VS 2015 上,WinRT 组件无法构建为 AnyCPU。更多信息here

当您的应用程序打包时,您可以编写的 C# 代码将被编译为本机代码。

在 Windows 8 上,这是可能的,但如果您依赖于仅 x86 的程序集,那么您可能应该只针对 x86 而不是 AnyCPU,以确保一切都按预期工作。

【讨论】:

    猜你喜欢
    • 2023-04-06
    • 1970-01-01
    • 1970-01-01
    • 2012-07-26
    • 2016-06-23
    • 1970-01-01
    • 2014-06-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多