微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

具有.NET 4.0而不是.NET-1.1 / .NET-2.0的NUnit我需要的DLL在哪里?

如何解决具有.NET 4.0而不是.NET-1.1 / .NET-2.0的NUnit我需要的DLL在哪里?

| 我一直在阅读并尝试使用NUnit,到目前为止,我正在阅读的书籍/文章都说在NUnit的bin文件夹中应该有“ 0”,我需要在我的项目中引用它。 但是奇怪的是没有
nunit.framework.dll
,但是有两个文件夹:net-1.1和net-2.0。 我都不用,我在.NET 4.0的VS 2010中工作。 是否已弃用NUnit? 为什么对于旧版本的.NET他们只有两个文件夹?     

解决方法

首先,NUnit绝不被弃用,事实上已经成为.NET的主要单元测试框架。 但是,作为测试框架,它不涉及编译表达式,不使用LINQ或动态语言构造,并且在其当前实现中甚至依赖于.NET 1.0中的功能,例如属性。 但是,随着.NET 2.0的发布,发布了新的CLR。必须将旧的.NET 1.1程序集“重新映射”到应用程序配置文件中,才能被新的CLR接收,并且在使用为.NET 1.1编译的库运行.NET 2.0应用程序时,人们会遇到问题。 当.NET 3.0和.NET 3.5发布时,它们并没有附带新的CLR。他们两个都仍然使用.NET 2.0 CLR,并且只向其中添加了一些库(WPF,WCF)和语言功能(例如LINQ)。由于这些发行版并未对CLR带来任何更改,因此为它们分发单独的库版本绝对没有意义,因为二进制文件将保持完全相同,并引用.NET 2.0中的
mscorlib
版本。 我不确定.NET 4.0,是否需要在
App.config
中输入才能正确加载.NET 2.0编译的NUnit库,所以我对此持开放态度。 NUnit博客上有一条引言,解释了单独的1.1和2.0封装:   因此,如果可以运行   原始的内置网络1.1版本   在任何版本的CLR下的NUnit   为什么我们需要一个单独的.Net 2.0   版?严格来说,我们没有。   但这很方便,原因如下:         人们似乎很难让NUnit运行   在适当的框架版本下。   有一个特殊的版本将使   他们的生活要轻松一些   提及我的,因为我必须回答   所有的问题。   最终,我们将需要一个单独的版本。人们不可避免地   将开始在中使用仅2.0的功能   他们的测试。想象一个断言   可为空的值。或通用   TestFixture类。我们将能够   处理来自   使用.Net 1.1构建的NUnit,但是许多   他们将需要.Net 2.0或   .Net实施要容易得多   2.0。         目前,.Net 2.0版本是   与.Net 1.1的功能相同   建立。我们已经反映了这一点   更改版本号   现在。那些使用一个或另一个   框架版本专门可以   下载NUnit的副本以供使用   该版本而不会错过   任何功能。那些同时使用   版本可以选择安装   两种版本并排–只是   注意您引用的那个人–或   使用命令行/ framework   选择正确版本的选项   在飞行中。 (突出显示是我的) 但是,它发布于很久以前(2006年11月),因此到目前为止,版本确实有所不同。     ,net-2.0版本是使用.NET 2.0构建的,但它将在.NET 4.0下成功运行(它在.exe.config文件中具有条目才能启用此功能)。并且它将成功运行使用.NET 4.0构建的测试。 我同意,如果他们提供的二进制文件显然是最新的,那将不会造成混淆,但是对它们没有技术上的需求。使用net-2.0文件夹;它应该为您工作。     ,转到http://nuget.org/并安装NuGet。然后按照有关如何将NuGet包添加到项目中的说明进行操作。然后搜索NUnit,它将自动为您的项目导入正确的dll。 顺便说一句,在.NET 4.0中,您可以使用2.0以上的任何dll,因此您可以在项目中使用NUnit .NET 2.0程序集。它会与您自己的程序集一起自动加载并与CLR v4一起运行,因此不会影响性能。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。