代码之家  ›  专栏  ›  技术社区  ›  3Dave

vs build-32位vs 64位

  •  0
  • 3Dave  · 技术社区  · 14 年前

    ASP.NET 4:

    我的笔记本电脑运行64位Win7 Ultimate,使用的是Vs2010和iis7。

    我的DEV,分期和生产服务器都是32位2003服务器与iIS6(很明显)。

    问题:

    1. 我知道这是 真的? 不支持,但在Win7下有没有任何方法可以让iis6在我的笔记本电脑上运行?在本地环境和部署管道之间保持配置一致是很好的,但我拒绝返回到xp。

    2. 如果我在Win7上用目标配置中设置的“any cpu”标志在vs2010下编译,生成的程序集是否与目标无关?也就是说,它们是64位还是32位特定的,或者它们是否真的可以在其中一个上工作?(我通常的“试一试”方法由于各种不相关的原因而暂时不起作用)。

    3. 在我的笔记本电脑上,我有framework和framework64文件夹。如果程序集是目标不可知论者,那么它们与vs从我的代码生成的程序集之间有什么区别?如果他们不是不可知论者,为什么我有两个单独的文件夹?这两个版本的性能有区别吗?

    事先谢谢。

    1 回复  |  直到 14 年前
        1
  •  1
  •   SqlRyan    14 年前
    1. 我知道,没有办法运行与基于操作系统的版本不同的IIS。由于IIS与任何操作系统(XP和Server 2003中为6.0,Vista和Server 2008中为7.0,Win7和Server 2008 R2中为7.5)的安装都有关联,因此无法安装其他版本-如果要使用iis6,则需要使用xp或2003位置进行测试。

    2. 他们是目标独立的。VS实际上并不编译机器代码——它编译成IL(一种“中间语言”),目标机器上的.NET框架(x64或x86,取决于安装的操作系统版本)编译成本机工作的机器代码。因此,编译“anycpu”将允许您在其中一个上运行。如果您愿意,可以在编译时以x86为目标,它们将在您的x86服务器上本地运行,并在您的x64计算机上使用wow,因此实际上您在这两台计算机上运行的代码完全相同。

    3. 这仅仅意味着您安装了框架的两个版本-x64和x86。这些程序集是目标不可知论者,但框架的相关版本将.NET IL程序集转换为在PC上本机执行的计算机代码。为此,需要有一个x86框架来编译为x86计算机代码(如果您有x86处理器),X64也是如此。