我正在尝试Raven.Client.Embedded.EmbeddableDocumentStore
在单元测试项目中使用(Build 960),如下所示:
private IDocumentStore CreateDocumentStore()
{
var store = new EmbeddableDocumentStore
{
RunInMemory = true,
Conventions = new DocumentConvention
{
DefaultQueryingConsistency = ConsistencyOptions.QueryYourWrites,
IdentityPartsSeparator = "-"
}
};
store.Initialize();
IndexCreation.CreateIndexes(typeof (RavenIndexes).Assembly, store);
return store;
}
我通过 NuGet 安装了以下 RavenDB 组件:
- RavenDB.嵌入式
- RavenDB.Client
上面的代码失败,因为它找不到 Raven.Database 1.0.0.0 程序集。为了解决这个问题,我也通过 nuget 安装了 RavenDB.Database 包。这增加了一大堆我不想要的东西,考虑到这个包的nuget 描述,这是可以预料的:
如果您想扩展 RavenDB,请使用此包。如果您只想使用现有的 RavenDB 服务器,请不要使用此包,以便使用 RavenDB.Client 包中的客户端 API。
现在,当我尝试使用 NuGet 卸载 RavenDB.Database 包时,它告诉我不能:
卸载包:无法卸载“RavenDB.Database 1.0.960”,因为“RavenDB.Embedded 1.0.960”依赖于它。
那么该怎么办?我是否会弄乱我的 NuGet 纯度并RavenDB.Smuggler
从我的单元测试项目中手动删除所有未使用的引用(等),只留下RavenDB.Database
引用?还是我哪里出了问题?当然EmbeddableDocumentStore
不需要我安装整个 RavenDB.Database 包。
谢谢