如何防止类被构建到发布DLL中?

Kee*_*ker 0 .net c# dll

可以将类排除在构建到DLL之外吗?

我希望将类排除在发布版本之外.调试版可以有类.

Ren*_*ogt 5

您可以使用C#预处理程序指令.在您的调试版本中,应该DEBUG定义一个符号,该版本未在您的发行版中定义.所以你的代码看起来像这样:

#if DEBUG
public class MyClassForDebugOnly
{
    // ...
}
#endif
Run Code Online (Sandbox Code Playgroud)

所以这个类在发布版本中不可用(编译).但请注意,没有代码在发行版本编译可以引用这个类.


要定义预处理器符号(例如DEBUG),可以打开项目属性页面(右键单击项目并选择"属性..."),转到"构建"选项卡并编辑"条件编译符号"(以逗号分隔的列表)符号).
对于这两个符号DEBUG,TRACE还有两个额外的复选框,默认情况下会为调试配置选中(afaik).