c# . net x86/x64哪个项目决定平台

本文关键字:项目 决定 平台 x64 net x86 | 更新日期: 2023-09-27 17:49:24

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

  • assemby C
  • 项目A ->类库任意CPU(引用汇编C)
  • 项目B -> windows应用程序x86(参考项目A)

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

  1. 项目B是启动项目——>汇编C将运行x86
  2. 项目A是直接引用汇编C的项目——>汇编C将运行x86或x64取决于平台

1或2?由于

c# . net x86/x64哪个项目决定平台

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

(换句话说,1)

这取决于汇编C是针对哪个目标编译的。其他项目不会以任何形式影响它的咬度。这种带有混合目标的设置可能会导致许多问题。

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

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