izb*_*izb 3 c# debugging visual-studio-2008 visual-studio
是否可以在Visual Studio中向项目添加一个类,并且只为该项目的Debug配置构建该类?也就是说,它根本不会出现在Release版本中.
如果可能的话,是否也可以为资源做同样的事情?
我正在考虑仅在Debug配置中运行但是从程序集中删除以便发布的测试类.
您可以使用#DEBUG(请参阅Jon的答案)来学习课程.
对于资源,您可以编辑MSBuild脚本文件,以根据所选的构建模式有条件地包含项目的各个部分.
.csproj文件是一个XML MSBuild脚本,如果在文本编辑器中打开它,您应该在项目的所有部分中找到它.如果您可以找到要从某些构建中排除的部分,则可以使用Condition属性对其进行标记.例如,要仅为Debug配置构建ItemGroup,您可以这样做:
<ItemGroup Condition=" '$(Configuration)' == 'Debug' " ...
Run Code Online (Sandbox Code Playgroud)
您应该能够查看这个并找到要排除的资源,并向它们或其父组添加类似的Condition属性.
但是,我建议您使用单独的程序集进行测试,并且不要让它与主程序集混淆.
课程很简单:
#if DEBUG
// Put your class here
#endif
Run Code Online (Sandbox Code Playgroud)
虽然不确定资源......我怀疑通过手动编辑项目文件是可行的,但不是在 Visual Studio 中。
不过,我不会出于测试目的而这样做 - 我鼓励您使用单独的程序集进行测试。除此之外,这意味着您可以通过针对发布版本进行测试来测试您发布的内容。如果您需要访问内部类型/成员,您始终可以使用[InternalsVisibleTo]
来授予从生产程序集到测试程序集的内部访问权限。事实上,我怀疑这是该属性最常见的用法:)
归档时间: |
|
查看次数: |
3954 次 |
最近记录: |