C#.NET x86 / x64哪个项目决定平台?

时间:2012-12-21 15:11:20

标签: c# .net x86-64 platform

我的visual studio项目中存在以下情况:

  • assemby C
  • 项目A - >类库任何CPU (引用程序集C)
  • 项目B - > Windows应用程序 x86 (引用项目A)

在此配置中,决定平台组件C将使用的是什么?

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

2 个答案:

答案 0 :(得分:5)

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

(换句话说,1)

答案 1 :(得分:-2)

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

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

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