【问题标题】:IronPython always in 32-bit mode on 64bit machine even when running ipy64.exeIronPython 在 64 位机器上始终处于 32 位模式,即使在运行 ipy64.exe 时也是如此
【发布时间】:2013-05-01 15:05:49
【问题描述】:

我确定我遗漏了一些简单的东西,但不幸的是,很多搜索都没有找到它是什么..

我正在运行 Windows 7 64 位(我通过查看控制面板 > 所有控制面板项 > 系统并看到它显示 64 位操作系统来验证这一点)。

我从这里安装了 IronPython 2.7.3 (http://ironpython.codeplex.com/downloads/get/423690)

这已经创建了以下快捷方式(在 C:\Program Files\IronPython 2.7 中没有对应的快捷方式...):

“C:\Program Files (x86)\IronPython 2.7\ipy64.exe”

如果我运行这个,我会得到这个提示:

"c:\Projects>"C:\Program Files (x86)\IronPython 2.7\ipy64.exe"
IronPython 2.7.3 (2.7.0.40) on .NET 4.0.30319.296 (32-bit)

http://ironpython.codeplex.com/releases/view/27350 上旧版本 IronPython (2.6) 的文档说:

“添加到此版本的一个非常明显的新功能是 ipy.exe 现在严格来说是仅 32 位的程序集。也就是说,它在 x86 和 x64 操作系统上都作为 32 位 CLR 进程执行。ipy64 .exe,尽管它的名字可能暗示,是一个与 ipy.exe 的旧行为相匹配的平台无关程序集,因为它在 32 位操作系统上作为 32 位进程执行,在 64 位操作系统上作为 64 位进程执行。”

由此,我推断 ipy64 应该作为 64 位进程启动,但这不是提示中显示的内容。

任何想法我做错了什么?提前谢谢..

编辑添加:我还尝试在 IronPython shell 中运行以下命令,这是我从本网站上的另一个问题中找到的,以检查操作系统是否为 64 位

>>> import System
>>> System.Environment.Is64BitOperatingSystem
True

...但随后我运行了以下内容,这表明 IronPython 确实在 32 位模式下运行。

>>> import System
>>> System.IntPtr.Size
4

【问题讨论】:

  • 您是否安装了 .Net 4 的 64 位版本?
  • 我认为是基于我的几个 Visual Studio 项目。我该怎么说?抱歉,我有点VS新手。
  • 它在程序文件 (x86) 中 - 这是 64 位窗口中 32 位应用程序的位置,不是吗?如果您在其他地方复制并运行 ipy64 是否有问题,例如常规程序文件?
  • 我尝试将它复制到 C:\Program Files\IronPython 2.7 并运行它 - 不认为这会起作用,因为可执行文件是相同的,实际上它返回了相同的结果“IronPython 2.7. .NET 4.0.30319.296(32 位)上的 3 (2.7.0.40)"
  • 我刚刚在 Visual Studio 中创建了一个包含 Console.WriteLn(System.IntPtr.Size) 的 ConsoleApplication,输出为“8”。我想这意味着我安装了 64 位 .NET

标签: ironpython 32bit-64bit


【解决方案1】:

我有同样的问题。我发现你用来运行 IronPython 的 shell 很重要。 32 位 dos 命令 shell 存在于 C:\Windows\system32\cmd.exe 中,而 64 位 dos 命令 shell 存在于 C:\Windows\SysWOW64\cmd.exe (见下面的截图)

32 bit dos command shell 64 bit dos command shell

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-17
    • 2014-12-16
    • 1970-01-01
    • 2013-05-08
    • 1970-01-01
    • 2021-10-18
    • 2012-11-07
    • 2015-06-20
    相关资源
    最近更新 更多