gpt4 book ai didi

c# - 删除 c# 二进制文件中未使用的预处理器符号

转载 作者:太空宇宙 更新时间:2023-11-03 22:55:01 25 4
gpt4 key购买 nike

我有一个包含一些条件构建的项目。我编译了它。然后用dotpeek看了一下。我注意到 ALL 条件语句和它包装的代码,即使没有定义。

由于此应用程序针对不同的客户端以某些关键方式进行了修改,因此我希望为该客户端构建的二进制文件包含已定义的事件#ifs。

我如何进行自动化构建来实现这一目标?

最佳答案

dotPeek 做了两件事

  1. 可以反编译IL代码
  2. 可以读取PDB文件并查找源文件

您可以在上下文菜单中看到它。一个条目是“反编译源”,另一个是“来自符号文件的源”:

Context menu

通过双击一个项目,它会首先尝试执行 Action 2,即:显示硬盘上存在的源文件。

这里是一个非常简单的程序:

  • 左:来自符号文件的来源
  • 中间:反编译源
  • 右:IL 代码

如您所见,编译后的代码仅包含编译的那些部分。

Comparison

因此,无需在构建脚本中剥离这些部分,因为 DLL 或 EXE 不包含它。

关于c# - 删除 c# 二进制文件中未使用的预处理器符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45827424/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com