从MSBuild命令行或项目文件传递/ highentropyva-到CSC编译器

Mat*_*ers 2 c# msbuild visual-studio-2013

由于供应商库不兼容,我需要关闭高熵VA来编译我的C#应用​​程序.到目前为止,我发现这样做的唯一方法是使用editbin进行构建后的步骤,但这非常笨重.有没有更好的办法?

Han*_*ant 10

IDE在Build属性表中缺少对此选项的支持.但这很容易解决,您只需手动将属性添加到.csproj文件即可.在文本编辑器中打开它,记事本很好.找到<FileAlignment>属性并在其后添加:

   <HighEntropyVA>False</HighEntropyVA>
Run Code Online (Sandbox Code Playgroud)

并重建项目.您可以通过运行dumpbin.exe /headers生成的可执行文件来验证:

       ...
       8540 DLL characteristics
              Dynamic base
              NX compatible
              No structured exception handler
              Terminal Server Aware
Run Code Online (Sandbox Code Playgroud)

并注意缺少"高熵虚拟地址"的特征.

  • 嗯,这不健康。选择您看到的第一个“&lt;PropertyGroup&gt;”,将其添加到该组内的任意位置。 (2认同)