将 /highentropyva- 从 MSBuild 命令行或项目文件传递给 CSC 编译器
本文关键字:CSC 编译器 项目文件 highentropyva- MSBuild 命令行 | 更新日期: 2023-09-27 18:34:54
由于供应商库不兼容,我需要在关闭高熵 VA 的情况下编译我的 C# 应用程序。到目前为止,我发现这样做的唯一方法是使用 editbin 进行构建后步骤,但这非常笨拙。有没有更好的方法?
IDE 在"生成"属性表中缺少对此选项的支持。 但这很容易解决,您只需手动将属性添加到 .csproj 文件中即可。 在文本编辑器中打开它,记事本很好。 找到 <FileAlignment>
属性并在其后添加:
<HighEntropyVA>False</HighEntropyVA>
并重建项目。 您可以通过对生成的可执行文件运行dumpbin.exe /headers
进行验证:
...
8540 DLL characteristics
Dynamic base
NX compatible
No structured exception handler
Terminal Server Aware
并注意缺少的"高熵虚拟地址"特征。