【问题标题】:Mismatch between processor architecture of the project and the processor architecture of the reference项目的处理器架构与参考的处理器架构不匹配
【发布时间】:2014-06-21 07:14:58
【问题描述】:

这个警告已经在我的项目背景中徘徊了很长一段时间,我被告知不要担心它。但是现在我有其他问题,我认为现在可能是询问它的最佳时机。 (最好的时间可能是我第一次出现的时候,但是,现在已经太晚了。)

正在构建的项目“MSIL”的处理器架构与参考“C:\Users\Benjamin\Documents\Visual Studio 2010\Projects\DCIM\DCIM\bin\Debug\”的处理器架构不匹配DCIM.exe”、“x86”。这种不匹配可能会导致运行时失败。请考虑通过配置管理器更改项目的目标处理器架构,以使项目和参考之间的处理器架构保持一致,或者依赖具有与项目的目标处理器架构匹配的处理器架构的参考。

同样的错误在我的错误列表中显示了两次。

老实说,我以前从未见过、听说过或使用过“MSIL”这个头衔,但现在就在这里,我不知道它想要什么或意味着什么。

这是我的配置管理器必须提供给我的:(同样,不知道这一切意味着什么)

唯一的其他“活动解决方案平台”是“任何 CPU”或“混合平台”。

谁能解释为什么会出现这个警告,它意味着什么以及我可以做些什么来解决它?

【问题讨论】:

  • 在 x64 处理器上 DCM 测试将作为 x64 运行,而 DCM 测试仍然是 x86,这将不起作用。将 DCM 更改为任何 CPU。如果您无法执行此操作,请将 DCM 测试更改为 x86。
  • 如果平台组合不包含所需的平台,请单击“新建”项并创建新平台。另外,不要忘记选中解决方案中所有项目的“构建”复选框。
  • @AlexFarber 如果我在两个框中都检查构建(DCIM TEST 是一个单元测试项目),那么 DCIM 测试中就会开始出现各种奇怪而奇妙的错误。
  • “项目名称“MSIL””还有什么含义吗?我的项目(和解决方案)名称是 DCIM?
  • 好吧,如果你不检查它,它只是没有构建 - 这不是你需要的解决方案。如果解决方案中的所有项目都是 .NET,只需将它们全部设为“任何 CPU”即可。这是默认的 .NET 配置。只有当解决方案的某些部分是本机 x86 时,您才需要 x86。从将 Active 解决方案平台更改为“Any CPU”开始。

标签: visual-studio-2010 reference warnings project cpu-architecture


【解决方案1】:

派对迟到了,但这里是:

这基本上意味着在解决方案中的项目和您引用的任何第三方 DLL 之间,您混合了 32 位 (x86) 和 64 位 (x64) 架构。 64 位程序集通常可以与 32 位程序集交互,但反之则不行。

如果您的任何项目引用了任何第三方应用,请从确定它们的架构开始(如果需要,使用“dumpbin”)。然后确保解决方案中的所有项目在其各自的项目属性中使用相同的(构建选项卡 -> 常规部分 -> 平台目标)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-06
    • 1970-01-01
    • 2011-02-07
    • 2023-01-10
    相关资源
    最近更新 更多