.NET Core 的 RavenDB 依赖性问题

RavenDB Dependency Issue with .NET Core

我正在尝试使用 RavenDB 在 .NET Core 中创建嵌入式数据库。虽然 RavenDB.Client 包恢复没有任何问题,但 RavenDB.Database 包(制作嵌入式数据库所必需的)没有正确恢复,即使它唯一的依赖项是 RavenDB.Client。我收到一条错误消息,指出 RavenDB.Database 与 .netcoreapp1.0 不兼容。这是我的照片 package.json:

Package RavenDB.Database 3.5.0 supports: net45 (.NETFramework,Version=v4.5)。因此 netcoreapp1.0 不支持。您还可以下载 https://www.nuget.org/api/v2/package/RavenDB.Database/3.5.0 包,解压并查看 lib 文件夹以了解它支持的内容。

由于 RavenDB.Client 支持 netstandard1.3 它在 netcoreapp1.0 上得到支持,David Fowler 通过以下类比:

interface INetCoreApp10 : INetStandard15 //What we care about in this case
{

}

interface INetStandard10
{
    void Primitives();
    void Reflection();
    void Tasks();
    void Collections();
    void Linq();
}

interface INetStandard11 : INetStandard10
{
    void ConcurrentCollections();
    void InteropServices();
}

interface INetStandard12 : INetStandard11
{
    void ThreadingTimer();
}

interface INetStandard13 : INetStandard12 //NetStandard version this library supports
{
    void FileSystem();
    void Console();
    void ThreadPool();
    void Process();
    void Sockets();

    void AsyncLocal();
}

interface INetStandard14 : INetStandard13
{
    void IsolatedStorage();
}

interface INetStandard15 : INetStandard14
{
    void AssemblyLoadContext();
}

https://gist.github.com/davidfowl/8939f305567e1755412d6dc0b8baf1b7#file-_platform-cs-L127

TLDR; 如果要使用此库,请使用 .NET 4.5 而不是 .NET Core。或者等到这个库移植到.NET Core。

为此,请将 project.json 中的 frameworks 更改为相应的项目:

"frameworks": {
  "net45": {
  }
}

注意:您还需要删除 Microsoft.NETCore.App 依赖项。