由于供应商库不兼容,我需要关闭高熵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
并注意缺少“高熵虚拟地址”特征。
关于c# - 从MSBuild命令行或项目文件将/highentropyva-传递给CSC编译器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27570858/