2

我的视觉工作室项目中有以下情况:

  • 大会 C
  • 项目 A -> 类库任何 CPU(参考程序集 C)
  • 项目 B -> windows 应用程序x86(参考项目 A)

在这种配置中,什么决定了 C 将使用什么平台程序集?

  1. 项目 B 是启动项目 --> 程序集 C 将运行 x86
  2. 项目 A 是直接引用程序集 C 的项目 --> 程序集 C 将根据平台运行 x86 或 x64

1 还是 2?谢谢

4

2 回答 2

5

启动程序集确定使用哪个平台。如果启动程序集构建为“任何 CPU”,它将在操作系统运行的平台上运行。

(换句话说,1)

于 2012-12-21T15:13:15.647 回答
-2

这取决于针对目标编译的程序集 C。其他项目不会以任何方式影响它的形状或形式。这种具有混合目标的设置可能会导致很多问题。

由于 B 是应用程序,它将作为 x86 运行。如果您使用的是 x64,项目 A 将无法加载,因为 A 将尝试以 x64 运行,而 x86 应用程序无法加载 x64 dll

如果您在 x86 机器上运行它,那么项目 A 也将运行 x86 并正确加载。

于 2012-12-21T15:16:57.390 回答