c# - 如何在我的单元测试项目中使用没有 .NET 5 的 RavenDB.RavenTestDriver 5+?

标签 c# ravendb ravendb5

运行 RavenDB 测试驱动程序 5.0+ 时出现异常,提示需要 ASP.NET Core 5.0.0。

Sstem.InvalidOperationException: Unable to start the RavenDB Server
It was not possible to find any compatible framework version
The framework 'Microsoft.AspNetCore.App', version '5.0.0' was not found.
  - The following frameworks were found:
      2.1.23 at [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
      3.1.9 at [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]

如何在不将我的项目迁移到 .NET 5.0 的情况下使用它?

最佳答案

是的,可以在没有 ASP.NET/.NET 5 的情况下使用 RavenDB 5。

需要在配置时显式指定版本,或者干脆设置为null:

var ravenServerOptions = new TestServerOptions()
{
    FrameworkVersion = null
};

ConfigureServer(ravenServerOptions);

例如使用 NUnit:

[TestFixture]
public class FooTest : RavenTestDriver
{
    private IDocumentStore store;

    [OneTimeSetUp]
    public void OneTimeSetUp()
    {
        var ravenServerOptions = new TestServerOptions()
        {
            FrameworkVersion = null
        };

        ConfigureServer(ravenServerOptions);

        store = GetDocumentStore();
    }

    [OneTimeTearDown]
    public void OneTimeTearDown()
    {
        store.Dispose();
    }

    [Test]
    public void Test()
    {

    }
}

关于c# - 如何在我的单元测试项目中使用没有 .NET 5 的 RavenDB.RavenTestDriver 5+?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65375728/

相关文章:

c# - WCF 和 JSON 问题

authentication - 如何为Asp.NET MVC 5创建ClaimsIdentity对象?

ravendb-studio - RavenDb 使用 RQL 添加属性

ravendb - 在 RavenDB 中进行 ETL 后文档在目的地消失

c# - SignalR通知系统

c# - 函数在datagridview上绘制 "Dependent cells"

c# - 加载包含作为通配符的项的 .NET 项目

ravendb - 如何在 RavenDB 中执行删除和更新操作

asp.net-mvc - 在 asp.net 和 ravendb 中处理基于事件的提要的最佳方法