当依赖项依赖于NUnit时使用NUnit 3>;=2.x?

当依赖项依赖于NUnit时使用NUnit 3>;=2.x?,nunit,Nunit,NuGet充满了依赖于NUnit>=2.x构建的东西。我可以将它们与NUnit 3一起使用吗 一个具体的例子 使用TestProject创建一个新的.Net项目 通过NuGet,将依赖项添加到包中 NUnit,注意您现在使用的是版本3 TestBase,声称依赖NUnit(>=2.6.3) 并创建一些单元测试。在您实际调用TestBase中的某个调用NUnit的东西之前,这是有效的 1.ShouldBeGreaterThan(0); 此时,版本不匹配会破坏它 “程序集绑定重定向!”我听

NuGet充满了依赖于
NUnit>=2.x
构建的东西。我可以将它们与NUnit 3一起使用吗

一个具体的例子

  • 使用TestProject创建一个新的.Net项目
  • 通过NuGet,将依赖项添加到包中
    • NUnit
      ,注意您现在使用的是版本3
    • TestBase
      ,声称依赖NUnit(>=2.6.3)
并创建一些单元测试。在您实际调用TestBase中的某个调用NUnit的东西之前,这是有效的

1.ShouldBeGreaterThan(0);
此时,版本不匹配会破坏它

“程序集绑定重定向!”我听到你哭了。但是NUnit 3使用的公钥与NUnit 2不同,所以这是不可能的


事实上,考虑到公钥的变化,是否有可能构建一个依赖于NUnit>=2.x的东西,它将与NUnit 3一起工作?

NUnit 3基本上是一个全新的产品。回想起来,我们可能应该创建一个新的NuGet包。现在太晚了

由于3.0框架的工作方式与v2完全不同,因此程序集重定向对您没有帮助

想要使用NUnit 3.0的第三方产品通常需要重写,除非它们只使用一个非常小的子集,而这个子集没有改变


如果您想使用NUnit 3,您只能使用经过更新的3RE第三方解决方案。NUnit 3基本上是一个全新的产品。回想起来,我们可能应该创建一个新的NuGet包。现在太晚了

由于3.0框架的工作方式与v2完全不同,因此程序集重定向对您没有帮助

想要使用NUnit 3.0的第三方产品通常需要重写,除非它们只使用一个非常小的子集,而这个子集没有改变


如果你想使用NUnit 3,你只能使用经过更新的3RE第三方解决方案来使用它。

除了Charlie的回答,我建议人们尝试联系损坏软件包的作者,并鼓励他们更新软件包以使用NUnit 3,或者将他们的依赖项更改为NUnit>=2.x和除了Charlie的答案之外,我建议人们尝试联系损坏包的作者,鼓励他们更新包以使用NUnit 3,或者将他们的依赖项更改为NUnit>=2.x,而不是我想要的答案,但我想这是“正确”的答案。ta。这不是我想要的答案,但我想这是我想要的答案。我接受你的观点,更新依赖项以包含我接受你的观点,更新依赖项以包含