【发布时间】:2017-02-05 08:29:54
【问题描述】:
我正在构建 n 个 C# 可执行文件,该可执行文件必须构建为 32 位应用程序(由于其他环境限制)。作为后期构建步骤,我使用editbin.exe \LARGEADDRESSAWARE 来允许 32 位应用程序使用超过 2GB 的内存;虽然我注意到这违反了强名称验证。
在运行editbin.exe 命令之前,我运行sn.exe -vf 来验证强名称:
sn.exe -vf [my exe]
输出:Assembly '[my exe]' is valid
然后我运行editbin.exe /LARGEADDRESSAWARE [my exe]' which just exits without any message. I verify that it's enabled to use more than 2GB by checking the headers viadumpbin /headers [my exe]`。
最后,我重新运行sn.exe 命令并得到以下输出:
Failed to verify assembly -- Strong name validation failed for assembly '[my exe]'.
有什么想法可以在不破坏强名称验证的情况下启用 LARGEADDRESSAWARE 功能吗?
【问题讨论】:
标签: c# .net 32-bit strongname