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

时间:2016-05-13 12:59:02

标签: c# .net dll

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

我希望将这些类排除在发布版本中。调试版可以有类。

3 个答案:

答案 0 :(得分:5)

您可以使用C# preprocessor directives。在您的调试版本中,应该定义一个符号DEBUG,该版本未在您的发行版中定义。所以你的代码看起来像这样:

#if DEBUG
public class MyClassForDebugOnly
{
    // ...
}
#endif

因此,在发布版本中,此类将不可用(已编译)。但请注意,在发行版中没有编译 的代码可以引用此类。

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

答案 1 :(得分:2)

我没试过,但这应该有效:

#if (DEBUG)

public class ReleaseOnly
{

}

#endif

答案 2 :(得分:1)

在您的项目文件中,插入类似的内容;

<CSFile Include="*.cs" Exclude="Excludedfile.cs"/>

并且有条件地做,使用这样的东西;

<Compile
    Exclude="Excludedfile.vb"
    Condition=" '$(Configuration)' == 'Release' " />

查看This link以获取更多信息,我希望这会有所帮助,您指定这应该从构建中排除,所以我认为这更像是您想要的而不是预处理器指令:)