Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 删除发布版本的NUnit引用_C#_.net_Sharpdevelop - Fatal编程技术网

C# 删除发布版本的NUnit引用

C# 删除发布版本的NUnit引用,c#,.net,sharpdevelop,C#,.net,Sharpdevelop,我有一个有很多NUnit测试的项目。我很高兴这些测试包含在调试配置构建中,但我想删除版本配置对nunit.framework的依赖。是否有办法排除特定(发布)配置的NUnit引用和NUnit测试对象?我使用的是Sharp Develop,但我很好奇您如何使用Visual Studio解决这个问题 有什么线索吗?听起来您的测试和发布代码在同一个项目中。这不是一个好主意-将代码分成两个项目,一个是测试项目,另一个是生产代码项目。只有测试项目需要参考NUnit 这也意味着所有测试都不会随发布代码一起发

我有一个有很多NUnit测试的项目。我很高兴这些测试包含在调试配置构建中,但我想删除版本配置对nunit.framework的依赖。是否有办法排除特定(发布)配置的NUnit引用和NUnit测试对象?我使用的是Sharp Develop,但我很好奇您如何使用Visual Studio解决这个问题


有什么线索吗?

听起来您的测试和发布代码在同一个项目中。这不是一个好主意-将代码分成两个项目,一个是测试项目,另一个是生产代码项目。只有测试项目需要参考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的答案。在一个更大的团队中,我认为最好为单元测试执行一个单独的项目,因为这将像其他任何消费者一样测试您的合同。