由于供应商库不兼容,我需要关闭高熵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/

10-14 11:51