从 .NET Core XUnit 项目引用标准 dll

Referencing standard dlls from a .NET Core XUnit project

我正在使用最新版本的 XUnit,我按照 these steps 启动了 Class 库 (.NET Core) 项目。

我整个解决方案中的所有其他库仅使用 4.6.1,因此我将 project.json 中的框架部分更改为以下内容:

{
    "frameworks": {
        "net461": {
            "dependencies": {
                "Microsoft.NETCore.Platforms": "1.0.1-rc2-24027"
            }
        }
    }
}

并且在我的解决方案中一切正常。我能够 运行 测试并且所有对其他库的引用都可以正常工作,即使它们只有 461 个。基本上,在我的解决方案中,我还有其他几个 Class 库(.NET Core),我的 XUnit 库依赖于它们,所以我可以直接通过 visual studio 引用它们,并将引用添加到 XUnit项目的 project.json 文件。

出现了我需要执行以下操作的情况:

仅将 XUnit 项目复制到另一台开发人员计算机。允许他编辑源代码,以便他能够创建测试,但不能让他访问所有其他 libraries/code。我想我可以简单地将所有其他 dll 复制到一个随机文件夹中,并能够从独立的 XUnit 项目中引用它们。但是,情况并非如此,因为在尝试引用时我收到一条错误消息,指出 .NET Core 项目无法引用标准 dll。

谁能告诉我如何做到这一点?

您应该将您的库作为 nuget 包分发。

.NET 核心仅通过 Nuget 处理依赖项。即使您在后台使用 VS UI("Add reference" 命令)添加引用,引用也会作为 nuget 包添加:如果您打开 project.json 文件,您将看到您的库是使用"dependencies" 部分中的 "package:version" 格式与其他部分相同)。

要将您的代码打包到 Nuget 包中,请使用 dotnet pack 命令。

如果您不使用任何 public Nuget 源,您可以 Hosting Your Own Nuget Feed.