仅在调试模式下包括类

时间:2010-08-11 12:25:50

标签: .net visual-studio visual-studio-2005

我正在编写一些单元测试类,我只想在调试模式下运行它们。

当我以不同的模式运行时,是否有某种方法不将类本身部署到最终的程序集。

我不是在谈论他们的内容(#if DEBUG标志),他们自己的文件。

我使用VS2005。

感谢。

3 个答案:

答案 0 :(得分:2)

标准做法是将测试类放在单独的程序集中。 这样,您只需部署包含实际生产代码的程序集即可。

答案 1 :(得分:0)

在标记类作为测试的属性周围使用#if DEBUG? (详细信息取决于您使用的测试系统。)

如果没有该指示,该类将失去其测试状态,但仍将包含在程序集中。

答案 2 :(得分:0)

您也可以使用条件属性指定DEBUG作为其参数。

但是从编译中排除整个文件的方法是在项目(。?? proj)文件中定义一个条件,所以如果你有类似的东西 <ItemGroup> <Compile Include="Form1.vb"> <SubType>Form</SubType> </Compile> <Compile Include="Form1.Designer.vb"> <DependentUpon>Form1.vb</DependentUpon> <SubType>Form</SubType> </Compile>

您可以向ItemGroup添加条件:

Condition=" '$(Configuration)' == 'Debug' "

请注意,您可以定义多个ItemGroup