【发布时间】: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