我正在尝试使用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
,因此大卫·福勒(David Fowler)通过以下类比对netcoreapp1.0
进行了支持:
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。
为此,请将
frameworks
中的project.json
更改为相应的项目:"frameworks": {
"net45": {
}
}
注意:您还需要删除
Microsoft.NETCore.App
依赖项。关于c# - .NET Core的RavenDB依赖关系问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40434908/