繁体   English   中英

我如何将NUnit2XmlResultWriter.dll放入项目以使用它?

[英]How do i get the NUnit2XmlResultWriter.dll into my project to use it?

我想编写C#代码convert-nunit-3-nunit-2-results-xml-file ,但是尽管添加了nuget包,但我的项目中缺少dll。 我在程序包缓存的工具目录中看到了它,但是在我的项目中却找不到它。 我忽略了什么?

在此处输入图片说明

我的项目目前针对.Net Core 2.1。 因此,我的问题是否与此有关: 添加对网络标准的支持 我是.net的新手,目前尚不了解所有差异。

你什么都没忽略。 并非所有的Nu​​Get软件包都是库。

NuGet约定了如何打包文件才能使用各种功能。 例如, contentcontentFiles中的文件将复制到项目目录中,或生成输出,这取决于使用该软件包的项目是使用packages.config还是PackageReference 如果软件包作者希望为您提供一个可在您的代码中使用的库,则他们必须将该库放在nupkg的lib目录中(从技术上讲,它可以在ref ,但是不会被复制到构建/发布输出中) ,它们仅在构建时使用)。 毫无疑问, tools目录用于工具包。 它通常由单元测试运行者使用,或者在这种情况下,由报告生成器使用。

因此,由于软件包将dll放在tools目录中,因此这意味着软件包作者希望该软件包成为开发过程中为您提供帮助的工具,而不是作为您在代码中使用的库。 您可以尝试与软件包作者联系,以查看他们是否这次在lib目录中发布了具有相同dll的另一个软件包,以便您可以在项目中使用它。

否则,您将需要找到一个不依赖NuGet的解决方案来将这个dll作为库提供。 一种选择是拥有一个packages.config文件,该文件将包解压缩到解决方案packages目录中,然后您使用对该dll的dll引用。 然后,在构建项目之前,您的构建脚本将需要首先还原packages.config文件。 另一个选择是将dll签入您的源代码管理管理工具中(如果dll的许可证允许),然后再次对其进行dll引用。

正如zivkan解释的那样,该软件包是一种工具。 实际上,它是对另一个工具NUnit引擎软件包的扩展。 NUnit引擎知道如何查找和使用扩展。

NUnit的发布是为使用您的代码作为一个库包,因为我们将不得不支持它除了作为扩展到NUnit的它的使用图书馆。

但是,NUnit的MIT许可证允许您使用源代码,您可以在https://github.com/nunit/nunit-v2-result-writer中找到该源代码。

由于代码尚未移植到.NET Core,因此您必须自己做。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM