无法让ConfigurationBuilder从ASP.NET Core 1.0 RC2的xunit类库中的appsettings.json中读取

布莱克·里维尔(Blake Rivell)

我正在XUnit项目中尝试执行以下操作,以将连接字符串获取到我的测试应使用的数据库:

public class TestFixture : IDisposable
{
    public IConfigurationRoot Configuration { get; set; }
    public MyFixture()
    {
        var builder = new ConfigurationBuilder()
            .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true);
        Configuration = builder.Build();
    }

    public void Dispose()
    {    
    }
}

这很奇怪,因为在Startup.cs中使用时,它可以完美地在WebAPI和MVC模板中正常工作。此外,此代码以前在dnx的RC1中工作,但是现在我将所有内容更新为RC2和Core CLI,它不再能够找到appsettings.jsonxunit类库根目录中的文件。

这是我的测试类的外观,因此您可以看到我如何调用配置:

public class MyTests : IClassFixture<MyFixture>
{
    private readonly MyFixture _fixture;
    public MyTests(MyFixture fixture)
    {
        this._fixture = fixture;
    }

    [Fact]
    public void TestCase1()
    {
        ICarRepository carRepository = new CarRepository(_fixture.Configuration);
    }
}
大卫·派恩(David Pine)

这是一个简单的问题,您需要appsetting.jsonxunit项目下也存在该问题或者,您需要使用相对路径指向appsettings.json另一个项目中存在该路径的位置

public class TestFixture : IDisposable
{
    public IConfigurationRoot Configuration { get; set; }
    public MyFixture()
    {
        var builder = new ConfigurationBuilder()
            .AddJsonFile("../../OtherProj/src/OtherProj/appsettings.json", 
                         optional: true, reloadOnChange: true);
        Configuration = builder.Build();
    }

    public void Dispose() {  }
}

理想情况下,您只需在测试项目本地拥有自己的配置文件。在我的ASP.NET Core RC2数据库测试项目中,我的装置如下所示:

public DatabaseFixture()
{
    var builder =
        new ConfigurationBuilder()
            .AddJsonFile("testsettings.json")
            .AddEnvironmentVariables();
   // Omitted...
}

其中testsettings.json是测试专用的配置,对于项目而言是本地的。

更新

project.json确保您将标记appsettings.jsoncopyToOutput查看模式存储以获取详细信息。

"buildOptions": {
  "copyToOutput": {
    "include": [ "appsettings.json" ]
  }
},

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法让ConfigurationBuilder从ASP.NET Core 1.0 RC2的xunit类库中的appsettings.json中读取

来自分类Dev

Unable to get ConfigurationBuilder to read from appsettings.json in xunit class library in ASP.NET Core 1.0 RC2

来自分类Dev

Razor页面在运行时无法在ASP.NET Core RC2中看到引用的类库

来自分类Dev

Razor页面在运行时无法在ASP.NET Core RC2中看到引用的类库

来自分类Dev

无法添加对.net core类库asp.net core rc2的引用

来自分类Dev

ASP.NET Core rc2中的Cookie

来自分类Dev

ASP.NET Core RC2中的网址重写

来自分类Dev

ASP.NET Core RC2中的网址重写

来自分类Dev

无法在.Net Core RC2中添加视图

来自分类Dev

无法在IISExpress中启动ASP.NET Core RC2 Web应用程序

来自分类Dev

无法在ASP.NET Core RC2中导入Oracle Client

来自分类Dev

ASP Net Core 1 RC2 AccountController注入

来自分类Dev

具有Identity和ASP.NET Core RC2的实体框架Core无法在数据库中创建用户

来自分类Dev

具有Identity和ASP.NET Core RC2的实体框架Core无法在数据库中创建用户

来自分类Dev

xunit无法与ASP.NET Core RC2一起编译

来自分类Dev

ASP.NET Core 1.0 ConfigurationBuilder()。AddJsonFile(“ appsettings.json”); 找不到文件

来自分类Dev

在ASP Core 1.0 RC2中无法远程触发

来自分类Dev

ASP.NET Core 1.0 RC2中的“找不到类型或名称空间名称”

来自分类Dev

如何禁用ASP.NET Core rc2中的浏览器缓存?

来自分类Dev

如何在ASP.NET Core 1.0 RC2中加载程序集

来自分类Dev

在ASP.NET MVC Core应用程序(RC2)中显示项目版本

来自分类Dev

在ASP.NET Core 1.0 RC2中使用RSS的正确方法

来自分类Dev

如何在ASP.NET Core RC2中制作Websocket服务器?

来自分类Dev

如何在ASP.NET Core RC2中制作Websocket服务器?

来自分类Dev

ASP.NET Core 1.0 RC2中的“找不到类型或名称空间名称”

来自分类Dev

如何从ASP.NET Core 3.1中的appsettings.json读取整个部分?

来自分类Dev

将Asp.Net Core RC1迁移到RC2后的问题

来自分类Dev

服务结构中的.NET Core RC2

来自分类Dev

.NET Core RC2中的登录声明

Related 相关文章

  1. 1

    无法让ConfigurationBuilder从ASP.NET Core 1.0 RC2的xunit类库中的appsettings.json中读取

  2. 2

    Unable to get ConfigurationBuilder to read from appsettings.json in xunit class library in ASP.NET Core 1.0 RC2

  3. 3

    Razor页面在运行时无法在ASP.NET Core RC2中看到引用的类库

  4. 4

    Razor页面在运行时无法在ASP.NET Core RC2中看到引用的类库

  5. 5

    无法添加对.net core类库asp.net core rc2的引用

  6. 6

    ASP.NET Core rc2中的Cookie

  7. 7

    ASP.NET Core RC2中的网址重写

  8. 8

    ASP.NET Core RC2中的网址重写

  9. 9

    无法在.Net Core RC2中添加视图

  10. 10

    无法在IISExpress中启动ASP.NET Core RC2 Web应用程序

  11. 11

    无法在ASP.NET Core RC2中导入Oracle Client

  12. 12

    ASP Net Core 1 RC2 AccountController注入

  13. 13

    具有Identity和ASP.NET Core RC2的实体框架Core无法在数据库中创建用户

  14. 14

    具有Identity和ASP.NET Core RC2的实体框架Core无法在数据库中创建用户

  15. 15

    xunit无法与ASP.NET Core RC2一起编译

  16. 16

    ASP.NET Core 1.0 ConfigurationBuilder()。AddJsonFile(“ appsettings.json”); 找不到文件

  17. 17

    在ASP Core 1.0 RC2中无法远程触发

  18. 18

    ASP.NET Core 1.0 RC2中的“找不到类型或名称空间名称”

  19. 19

    如何禁用ASP.NET Core rc2中的浏览器缓存?

  20. 20

    如何在ASP.NET Core 1.0 RC2中加载程序集

  21. 21

    在ASP.NET MVC Core应用程序(RC2)中显示项目版本

  22. 22

    在ASP.NET Core 1.0 RC2中使用RSS的正确方法

  23. 23

    如何在ASP.NET Core RC2中制作Websocket服务器?

  24. 24

    如何在ASP.NET Core RC2中制作Websocket服务器?

  25. 25

    ASP.NET Core 1.0 RC2中的“找不到类型或名称空间名称”

  26. 26

    如何从ASP.NET Core 3.1中的appsettings.json读取整个部分?

  27. 27

    将Asp.Net Core RC1迁移到RC2后的问题

  28. 28

    服务结构中的.NET Core RC2

  29. 29

    .NET Core RC2中的登录声明

热门标签

归档