.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
依赖项。
我正在尝试使用 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
依赖项。