2016-11-05 2 views
1

RavenDB를 사용하여 .NET 코어에 내장 데이터베이스를 만들려고합니다. RavenDB.Client 패키지가 문제없이 복원되는 동안 RavenDB.Database 패키지 (포함 된 데이터베이스를 만드는 데 필요함)는 RavenDB.Client 만 종속성이 있더라도 제대로 복원되지 않습니다. RavenDB.Database가 .netcoreapp1.0과 호환되지 않는다는 오류 메시지가 나타납니다. 여기 내 package.json의 사진입니다 :.NET 코어에서 RavenDB 종속성 문제

enter image description here

답변

2

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 이후

는 데이비드 파울러 다음 유사 netcoreapp1.0 통해 지원된다 netstandard1.3 지원

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 Core 대신 .NET 4.5를 사용하십시오. 또는이 라이브러리가 .NET 코어로 포팅 될 때까지 기다리십시오.

변경, 이렇게하려면 당신의 당신의 project.json 각각의 항목에 frameworks :

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

참고 : 또한뿐만 아니라 Microsoft.NETCore.App 종속성을 제거해야합니다.

+0

응답 해 주셔서 감사합니다. 이 문제가 해결 될 것이라는 것을 알았지 만, 라이브러리에 의존 할 때 라이브러리가 포팅되지 않았다는 것이 이상하게 보입니다. 정교한 응답에 다시 한번 감사드립니다. – Bryan

+0

@ 브라이언 : 왜 그렇게 이상할까요? 'RavenDB.Client'는'RavenDB.Database'에 필요한 API의 서브셋만을 가지고 있습니다. 물론 그것을 소비 할 수 있습니다. 그러나'RavenDB.Database'가 현재 전체 .NET Framework에서만 사용할 수있는 API에 의존 할 수 있다면 큰 오버 헤드로 이식하고 더 오래 걸릴 수는 없습니다. – Tseng

관련 문제