【问题标题】:Which LINQPad am I running?我正在运行哪个 LINQPad?
【发布时间】:2014-04-24 13:11:07
【问题描述】:

根据 LINQPad 网站,有几种不同的构建方式

我怎样才能知道我正在跑步?帮助/关于屏幕有一个版本号,但不涉及平台。

【问题讨论】:

  • 测试版似乎是 4.50.01,而我自己的版本(香草)是 4.48.01,所以至少你已经可以排除那个了。
  • 表达式 IntPtr.Size 返回什么?如果是 4,那么您要么在 32 位操作系统上运行 vanilla 版本,要么运行 AnyCPU 版本。如果返回 8,那么您使用的是 AnyCPU 构建(并且您必须在 64 位操作系统上)此外,主页上的 X64 构建只是 AnyCPU 构建的非 beta 版本。

标签: linqpad


【解决方案1】:

X64 构建和 AnyCPU 构建是一回事。我会更新网站以使其更清晰。

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

【讨论】:

  • 答案似乎不适用于 LINQPad 5。我在版本号之后看不到任何内容。
  • 确实如此。如果您的版本号不包括 AnyCPU,那么您拥有的是 vanilla 版本。您可以在此处下载 LINQPad 5 Any CPU Build:linqpad.net/GetFile.aspx?LINQPad5Setup-AnyCPU.exe
  • 有没有办法在脚本中测试?
  • IntPtr.Size。这将使用 AnyCPU 构建返回 8(假设您的操作系统是 64 位)。
【解决方案2】:

这也是一种选择。

有一个调用 CorFlags 的 VS 实用程序可以强制 AnyCPU 程序集在 64 位主机上显式为 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。

所以,我只需运行 VS 命令提示符,当我需要它以 32 位运行时键入 %linq32%,当我需要 64 位时键入 %linq64%。

有助于加载您自己的可能是跨位的程序集。

(请注意,虽然此评论可能不直接相关,但搜索词“linqpad 32bit”将此帖子显示为 google 中的#3,因此我将其放在这里以供其他人使用)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多