我正在运行哪个LINQPad版本?

3
根据LINQPad网站显示,有几个不同的版本可供下载: 如何确定正在运行哪个版本?请查看“帮助/关于”屏幕上的版本号,但不会显示平台。

Beta版本似乎是4.50.01,而我的版本(原版)是4.48.01,所以至少你可以排除这个。 - Jeroen Vannevel
表达式IntPtr.Size返回什么?如果它是4,那么您要么正在32位操作系统上运行vanilla构建或AnyCPU版本。如果它返回8,则表示您正在使用AnyCPU构建(并且您必须在64位操作系统上)。此外,主页上的X64构建只是AnyCPU构建的非测试版。 - sgmoore
2个回答

6

X64编译和AnyCPU编译是同一件事。我会更新网站以使其更清晰。

如果您运行该版本,则“帮助|关于”屏幕将在版本号后显示(AnyCPU)。


1
答案似乎不适用于LINQPad 5。我在版本号后面没有看到任何内容。 - p.s.w.g
实际上是这样的。如果您的版本号不包括AnyCPU,则为普通版本。您可以在此处下载LINQPad 5 Any CPU版本:http://www.linqpad.net/GetFile.aspx?LINQPad5Setup-AnyCPU.exe - Nico
1
有没有办法在脚本中进行测试? - NetMage
1
IntPtr.Size。在 AnyCPU 构建中,这将返回 8(假设您的操作系统是 64 位)。 - Joe Albahari

3

这也可能是一种选择。

有一个名为 CorFlags 的 VS 实用工具,可以在 64 位主机上强制将 AnyCPU 程序集明确设置为 32 位。

我已经将其添加到我的主机环境变量中(计算机属性/高级设置),以便轻松进行转换:

%linq32% = corflags k:\Downloads\LINQPad.exe /32BIT+ /Force&&k:\Downloads\LINQPad.exe
%linq64% = corflags k:\Downloads\LINQPad.exe /32BIT- /Force&&k:\Downloads\LINQPad.exe
------line difference is here----------------------^

当你从VS命令提示符运行时,CorFlags的路径已被添加到应用程序的环境表(% path%)中。如果您不想从VS命令提示符运行,则需要完全限定CorFlags的路径...并且可能需要将其他路径添加到% path%。
上面的&&是cmd.exe的命令分隔符。 CorFlags.exe首先运行,然后是LINQPad.exe运行。
所以,当我需要以32位运行时,我只需运行VS命令提示符并键入%linq32%,而当我需要64位时,我只需键入%linq64%。
有助于加载您自己的可能跨位元的程序集。
(请注意,尽管此评论可能与直接相关,但搜索词“linqpad 32bit”在Google中显示此帖子为第3名,因此我将其放在这里供其他人使用)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接