使用Asp.NET5(vNext)上嵌入的RavenDB

使用Asp.NET5(vNext)上嵌入的RavenDB,ravendb,lucene.net,asp.net-core,asp.net-core-mvc,Ravendb,Lucene.net,Asp.net Core,Asp.net Core Mvc,新的Asp.Net版本以kpm(k包管理器)为特色。它似乎将依赖项包保存在C:\Users\\.kpm\packages上 然后,这就是project.json的定义方式。RavendDB Embedded在最后引用 但是,对Lucene.Net.dll的访问被拒绝 到目前为止,我对其他依赖项没有任何问题,这是唯一一次拒绝访问程序集引用。RavenDB正在内部打包一些DLL,加载时需要将它们保存到磁盘,这就是它试图删除该文件(然后再次写入)的原因。 如果您授予该文件夹的权限,它应该只对您有

新的Asp.Net版本以kpm(k包管理器)为特色。它似乎将依赖项包保存在
C:\Users\\.kpm\packages

然后,这就是
project.json
的定义方式。RavendDB Embedded在最后引用

但是,对Lucene.Net.dll的访问被拒绝


到目前为止,我对其他依赖项没有任何问题,这是唯一一次拒绝访问程序集引用。

RavenDB正在内部打包一些DLL,加载时需要将它们保存到磁盘,这就是它试图删除该文件(然后再次写入)的原因。
如果您授予该文件夹的权限,它应该只对您有效。

aspnetcore50(CoreCLR)是否支持RavenDB?或者干脆
aspnet50
(.NET 4.5.x)?如果RavenDB没有明确针对
aspnetcore50
,您需要将依赖项放在
aspnet50
特定的依赖项组下(并可能完全删除
aspnetcore50
,因为您的应用程序可能根本无法在该平台上工作-目前为止).project.json上的
frameworks
下仅引用了
aspnet50
,由于核心与项目中使用的其他包(以及RavenDB)冲突,因此已完全删除。在的第89行,它尝试删除.dll。这就是失败的地方。啊,好的,那很好。我试着挖掘RavenDB,但我不知道它为什么要删除一个文件,更不用说为什么失败了。。。您可能知道它无法删除哪个文件吗?可能是.NET已经加载的程序集,因此它被锁定,无法删除。在以前的ASP.NET版本中,我认为程序集始终是卷影复制的,但目前在ASP.NET 5中没有卷影复制。请参阅此错误:。当然,我不确定这是不是同一个问题,但可能是……我试过了,即使有管理员权限
Lucene.dll
正被.NET锁定,这可能是@Eilon上面所说的。您可以使用Raven/assembliesdirectory控制它的去向也许可以更新配置页()以反映这一点?这会节省我很多时间:)你能描述一下如何设置这个选项吗?在新的vnext环境中,没有web.config,我无法找到如何修改“Raven/AssembliesDirectory”option@Bjorn您可以使用
DocumentStore.Configuration.AssembliesDirectory
进行设置。在调用
DocumentStore.Initialize