首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Microsoft.NET\Framework和Microsoft.NET\Framework64有什么区别?

Microsoft.NET\Framework和Microsoft.NET\Framework64有什么区别?
EN

Stack Overflow用户
提问于 2010-12-28 10:36:56
回答 3查看 13.1K关注 0票数 15

我想知道.NET模式x86和x64之间的区别。

  1. 这两种模式有什么区别?
  2. 我可以编译我的库,例如用.NET x64和.NET x86吗?
  3. ,如果我选择x64而不是x86?
  4. ,.NET x64的优点是什么?
  5. 如果我想使用.NET x 64,是否必须安装特殊的?H 210G 211
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-12-28 10:44:06

复杂的问题,我将尝试简化:

  1. 任何.Net应用程序都可以同时为x86 (32位)和x64 (64位)进行编译。实际上,他们是默认的。您可以通过在项目属性中的Build选项卡中更改目标CPU来更改此选项卡。支持的目标是“任意”(将根据操作系统支持情况及时编译为32位或64位),"x86“将编译为32位,可在所有平台上工作,"x64”将编译为64位,仅在64位x86上工作。请参见上面的。还请注意,有时会执行第二个级别的编译,这就是NGEN。它为特定的CPU类型创建本机映像。但是,如果您已经知道了这一点,
  2. for ..dll将为它们选择“任意”CPU。对于.EXE (入口点),您必须选择Any、x86或x64。有一些事情需要考虑:访问本地Windows.dll文件(interpo)的x86 .Net应用程序需要x86 ..dll文件。因此,64位应用程序不能访问32位API调用,反之亦然。这往往是.Net应用程序在64位操作系统上失败的原因之一。解决这一问题的方法是要么引用更正的..dll,要么简单地将.Net应用程序设置为属性下的x86 (32位)。如果将所有其他依赖项设置为“任意”,则所有其他依赖项将在实时编译过程中自动变为32位。
  3. 64位的优点非常复杂。根据应用程序的功能,有优点也有缺点。最明显的优点是您的应用程序可以突破2GB内存障碍。缺点是,正如#3中所解释的,如果您引用64位..dll的应用程序,您的应用程序将不会在32位操作的systems.
  4. Everything上执行。什么都不用担心,除了上面所有的东西。:)
票数 17
EN

Stack Overflow用户

发布于 2010-12-28 10:46:31

  1. 如果您正在为任何CPU编译代码,则x64尝试将本机外部DLL加载为x64版本。如果DLL是32位的话,这可能会有问题.它抛出一个exception.
  2. Yes,,您可以构建它作为任何CPU
  3. 的1
  4. It ( can )内部使用操作系统的x64优势,如4GB+内存等。
  5. 不,默认情况下由.NET安装程序完成。

票数 0
EN

Stack Overflow用户

发布于 2010-12-28 10:47:31

  1. 有32位或64位平台(操作系统)
  2. 的模式--您可以--实际上VS在x86计算机上安装32位版本的CLR,在64位Windows上安装32位和64位版本的CLR。因为VS是32位应用程序,所以它在64位computers.
  3. Many应用程序上的WOW64下运行,在32位CLR和64位CLR上的行为都是相同的。但是,如果使用64位Windows和IntPtr,那么使用64位操作系统的
  4. 与x86 ones
  5. 具有相同的优势(例如不正确的平台调用,使用句柄而不是IntPtr)。
  6. 与x86 ones
  7. 具有相同的优势,如果您使用的是64位Windows和VS2010,那么您就可以开发.net x64

了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4545391

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档