C# 删除发布版本的NUnit引用
我有一个有很多NUnit测试的项目。我很高兴这些测试包含在调试配置构建中,但我想删除版本配置对nunit.framework的依赖。是否有办法排除特定(发布)配置的NUnit引用和NUnit测试对象?我使用的是Sharp Develop,但我很好奇您如何使用Visual Studio解决这个问题C# 删除发布版本的NUnit引用,c#,.net,sharpdevelop,C#,.net,Sharpdevelop,我有一个有很多NUnit测试的项目。我很高兴这些测试包含在调试配置构建中,但我想删除版本配置对nunit.framework的依赖。是否有办法排除特定(发布)配置的NUnit引用和NUnit测试对象?我使用的是Sharp Develop,但我很好奇您如何使用Visual Studio解决这个问题 有什么线索吗?听起来您的测试和发布代码在同一个项目中。这不是一个好主意-将代码分成两个项目,一个是测试项目,另一个是生产代码项目。只有测试项目需要参考NUnit 这也意味着所有测试都不会随发布代码一起发
有什么线索吗?听起来您的测试和发布代码在同一个项目中。这不是一个好主意-将代码分成两个项目,一个是测试项目,另一个是生产代码项目。只有测试项目需要参考NUnit
这也意味着所有测试都不会随发布代码一起发布,只浏览生产代码或测试代码更容易。将单元测试移动到不同的程序集,即YourProject.UnitTests
这不会构成部署包的一部分,也不需要在主应用程序中包含nUnit引用。如果您希望将my Unit Tests作为您尝试测试的项目的一部分进行开发,您可以将以下条件添加到您的单元测试文件和项目文件中的nUnit引用中
Condition=" '$(Configuration)'=='Debug' "
当您处于调试模式时,这将只包括nunit引用以及构建中的测试类
因此,您的项目文件可能有如下内容:
<Reference Include="nunit.framework, Version=2.6.3.13283, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL" Condition=" '$(Configuration)'=='Debug' ">
<HintPath>..\packages\NUnit.2.6.3\lib\nunit.framework.dll</HintPath>
</Reference>
<Compile Include="UnitTests.cs" Condition=" '$(Configuration)'=='Debug' "/>
..\packages\NUnit.2.6.3\lib\NUnit.framework.dll
将我的答案保留为一般形式,但我的个人观点已变得更符合Jon的答案。在一个更大的团队中,我认为最好为单元测试执行一个单独的项目,因为这将像其他任何消费者一样测试您的合同。