引用.NET Core XUnit项目中的标准dll

我使用的是最新版本的XUnit,我按照这些步骤启动了类库(.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项目的project.json文件中。

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

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

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

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

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

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

如果您不使用任何公共Nuget来源,您可以托管自己的Nuget Feed 。