可以将类排除在构建到DLL之外吗?
我希望将这些类排除在发布版本中。调试版可以有类。
答案 0 :(得分:5)
您可以使用C# preprocessor directives。在您的调试版本中,应该定义一个符号DEBUG
,该版本未在您的发行版中定义。所以你的代码看起来像这样:
#if DEBUG
public class MyClassForDebugOnly
{
// ...
}
#endif
因此,在发布版本中,此类将不可用(已编译)。但请注意,在发行版中没有编译 的代码可以引用此类。
要定义预处理器符号(如DEBUG
),您可以打开项目属性页面(右键单击项目并选择"属性..."),转到&#34 ;生成"选项卡并编辑"条件编译符号" (以逗号分隔的符号列表)。
对于两个符号DEBUG
和TRACE
,有两个额外的复选框,默认情况下会为调试配置选中(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以获取更多信息,我希望这会有所帮助,您指定这应该从构建中排除,所以我认为这更像是您想要的而不是预处理器指令:)