问题标签 [ilasm]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.net - 无法在 VS2019 中构建 CSCORE - 后期构建中的 ilasm 失败
下列的
和
尝试在 VS2019 中构建 CSCore。最初 postbuild 脚本的路径与我的环境不兼容,所以我修复了它们。现在它有点工作,除了它在调用它的 InlineILCompiler 以在库中注入 CLR 代码时在 postbuild 脚本中中断。
更准确地说,它在 InlineILCompiler\Program.cs 的大约第 350 行处中断,在它调用外部 ilasm.exe 以使用“disasm.il”作为输入重新组装所有内容的步骤中。
我设法在 disasm.il 被删除之前获得了它的副本,并且我尝试自己重新发出 ilasm 命令,使用的参数与 InlineILCompiler 提供的参数相同......但它失败了,如下所示:
我对 IL 了解不多,但我仍然进行了调查,发现违规行似乎处于阻塞状态:
更准确地说,带有 -nan(ind) 的行:
不知道现在该怎么办,有什么想法吗?谢谢你。
c# - 处理双 NaN 和 Inf 时的 ILASM 问题
我创建了一个初始化了 double 类型值的简单程序,
var a = double.NaN;
我使用 Visual Studio 2019、.net framework 4.5 构建项目,并使用 ILDASM.exe 版本 4.0.30319.0 将其反汇编为 .il 文件
IL_0001: ldc.r8 -nan(ind)
但是当我尝试使用 ILASM.exe 版本 4.8.3752.0 组装它时出现错误
test.il(65) : 错误 : 标记“-”处的语法错误:IL_0001: ldc.r8 -nan(ind)
这也发生在 Double.PositiveInfinity 和 Double.NegativeInfinity 上。任何人都可以帮忙吗?
c# - ILASM.exe 显示关于 System.Memory 包的不同版本
我一直在尝试在 .NET Framework 4.7 中的类库项目中安装ServiceStack.Text包。
最新的稳定版本是 5.11.0 并且有一个依赖 System.Memory( >= 4.5.4) 我安装了 System.Memory(v.4.5.4) 包没有任何错误。然后我尝试启动我的应用程序,我收到与 JIT 相关的错误和“System.IO.FileLoadException:'Could not load file or assembly'System.Memory, Version=4.0.1.0”错误。
我调查了通过 ILASM.exe 安装的 System.Memory 的版本,发现它的版本是4.0.1.1。根据Nuget 包管理器和项目文件,它是 v.4.5.4。我附上了所有的照片。
首先,为什么 ilasm.exe 向我显示了与目标版本不同的版本?其次,如何解决ServiceStack.Text包的版本问题?