Visual Studio平台目标

时间:2015-09-17 06:51:04

标签: c# visual-studio-2012 dll

我想知道是否有人可以证实这一点,这是我遇到的行为:

  • exe使用Platform target编译:x86
  • exe引用了dll' s编译为"任何CPU"
  • 引用的dll被加载为x86
  • 工作正常

1 个答案:

答案 0 :(得分:1)

如果隐含的问题是"我可以期待这个工作正常吗?#34;然后是的。

您的主进程(在本例中为x86)确定您是启动32位还是64位进程。 x86表示32位,x64表示64位,因此您的进程将为32位。

32位进程只能加载32位程序集或任何CPU程序集(然后将加载为32位)。

64位进程只能加载64位程序集或任何CPU程序集(然后将加载为64位)。

所以是的,这是预期的并且记录在案(尽管我找不到快速链接)没问题。

事实上,如果你可以逃脱它,总是使你的类库,组件,支持库等作为任何CPU,将使你的生活更轻松。

对于您的应用程序,确定是否必须将其包含在特定的" bitness"中,如果是这样,请选择x86或x64,但通常您也可以选择任何CPU对那些人来说。