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

时间:2016-06-16 18:39:43

标签: c# asp.net-core xunit asp.net-core-1.0 xunit2

我使用的是最新版本的XUnit,我跟着these steps启动了类库(.NET Core)项目。

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

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

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

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

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

有人可以告诉我如何做到这一点吗?

1 个答案:

答案 0 :(得分:6)

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

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

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

如果您不使用任何公共Nuget来源,可以Hosting Your Own Nuget Feed