如何将 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。因此,我的问题是否与此有关: Add support for net standard ?
我是 .net 的新手,目前还不了解所有差异。
你没有忽略任何事情。并非所有 NuGet 包都是库。
NuGet 有关于必须如何打包文件才能使用各种功能的约定。例如,content
或 contentFiles
中的文件被复制到项目目录或构建输出中,具体取决于使用包的项目是使用 packages.config
还是 PackageReference
。如果包作者想给你一个可以在你的代码中使用的库,他们必须把库放在 nupkg 的 lib
目录中(技术上它可以在 ref
中,但那些不t 被复制到 build/publish 输出,它们只在构建时使用)。毫不奇怪,tools
目录用于工具包。它经常被单元测试运行器使用,或者在这种情况下,一个报告生成器。
因此,由于包将 dll 放在 tools
目录中,这意味着包作者打算将包作为在开发过程中为您提供帮助的工具,而不是作为供您在开发过程中使用的库你的代码。您可以尝试联系软件包作者,看看他们是否发布了另一个具有相同 dll 的软件包,这次是在 lib
目录中,以便您可以在您的项目中使用它。
否则,您将需要找到一个不依赖于 NuGet 将此 dll 作为库带给您的解决方案。一种选择是在解决方案 packages
目录中使用一个 packages.config
文件来提取包,然后使用 dll 引用该 dll。然后,您的构建脚本需要先恢复 packages.config
文件,然后再构建您的项目。另一种选择是将 dll 签入源代码控制管理工具(如果 dll 的许可证允许),并再次引用它。
正如 zivkan 所解释的,包是一个工具。事实上,它是对另一个工具 NUnit 引擎包的扩展。 NUnit 引擎知道如何查找和使用扩展。
NUnit 不会 发布一个旨在供您的代码用作库的包,因为除了用作库之外,我们还必须支持它作为库NUnit 的扩展。
但是,NUnit 的 MIT 许可证允许您使用源代码,您可以在 https://github.com/nunit/nunit-v2-result-writer
找到源代码
由于代码尚未移植到 .NET Core,您必须自己做。
我想编写 C# 代码 convert-nunit-3-nunit-2-results-xml-file,但是尽管添加了 nuget 包,但我的项目中缺少 dll。 我在包缓存的工具目录中看到它,但在我的项目中找不到它。 我忽略了什么?
我的项目目前是.Net Core 2.1。因此,我的问题是否与此有关: Add support for net standard ? 我是 .net 的新手,目前还不了解所有差异。
你没有忽略任何事情。并非所有 NuGet 包都是库。
NuGet 有关于必须如何打包文件才能使用各种功能的约定。例如,content
或 contentFiles
中的文件被复制到项目目录或构建输出中,具体取决于使用包的项目是使用 packages.config
还是 PackageReference
。如果包作者想给你一个可以在你的代码中使用的库,他们必须把库放在 nupkg 的 lib
目录中(技术上它可以在 ref
中,但那些不t 被复制到 build/publish 输出,它们只在构建时使用)。毫不奇怪,tools
目录用于工具包。它经常被单元测试运行器使用,或者在这种情况下,一个报告生成器。
因此,由于包将 dll 放在 tools
目录中,这意味着包作者打算将包作为在开发过程中为您提供帮助的工具,而不是作为供您在开发过程中使用的库你的代码。您可以尝试联系软件包作者,看看他们是否发布了另一个具有相同 dll 的软件包,这次是在 lib
目录中,以便您可以在您的项目中使用它。
否则,您将需要找到一个不依赖于 NuGet 将此 dll 作为库带给您的解决方案。一种选择是在解决方案 packages
目录中使用一个 packages.config
文件来提取包,然后使用 dll 引用该 dll。然后,您的构建脚本需要先恢复 packages.config
文件,然后再构建您的项目。另一种选择是将 dll 签入源代码控制管理工具(如果 dll 的许可证允许),并再次引用它。
正如 zivkan 所解释的,包是一个工具。事实上,它是对另一个工具 NUnit 引擎包的扩展。 NUnit 引擎知道如何查找和使用扩展。
NUnit 不会 发布一个旨在供您的代码用作库的包,因为除了用作库之外,我们还必须支持它作为库NUnit 的扩展。
但是,NUnit 的 MIT 许可证允许您使用源代码,您可以在 https://github.com/nunit/nunit-v2-result-writer
找到源代码由于代码尚未移植到 .NET Core,您必须自己做。