- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在 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 模板中完美运行。此外,此代码之前可以在 RC1 中使用 dnx 运行,但现在我将所有内容更新到 RC2 和 Core CLI,它不再能够找到 xunit 根目录中的 appsettings.json
文件类库。
这是我的测试类的样子,这样您就可以看到我如何调用配置:
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);
}
}
最佳答案
这是一个简单的问题,您需要在xunit项目下也存在appsetting.json
。或者您需要使用指向另一个项目中存在 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.json
标记为 copyToOutput
。看schema store了解详情。
"buildOptions": {
"copyToOutput": {
"include": [ "appsettings.json" ]
}
},
关于asp.net - 无法让 ConfigurationBuilder 从 ASP.NET Core 1.0 RC2 中的 xunit 类库中的 appsettings.json 读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37479643/
我正在尝试为我正在构建的 .Net Web 应用程序设置应用程序基本路径。我不断收到配置生成器的错误。这是我得到的错误。 DNX,Version=v4.5.1 错误 CS1061:“Configura
我有一个 Azure 函数,我正在使用 DI 系统来注册一些类型;例如: public class Startup : FunctionsStartup { public override v
这个问题已经有答案了: Specify the application base path in ConfigurationBuilder in beta8 (1 个回答) 已关闭 7 年前。 使用
我有以下错误: Program.cs(15,72): error CS1061: 'ConfigurationBuilder' does not contain a definition for 'A
我正在尝试使用 Spring Boot 应用程序中的 ConfigurationBuilder API 以编程方式创建 log4j2 记录器。但代码似乎无法正常工作。 下面是我试图实现此目的的代码片段
我在 VS2017 中使用 azure 函数模板项目并选择版本2(测试版)。我原封不动地发布了它并且有效。 我添加了 nuget 包 Microsoft.Extensions.Configuratio
我曾经像这样为 ConfigurationBuilder 指定应用程序基本路径: public Startup(IApplicationEnvironment appEnv) { var co
我们知道我们可以将 json 文件解析为 IConfigurationRoot as public class Startup { public IConfigurationRoot Conf
我想在我的功能测试项目中使用 IHostingEnvironment 和 ConfigurationBuilder,以便根据环境使用不同的配置集运行功能测试。我想使用下面的代码: public ICo
真的很纠结这个 - 有这么难吗?! 我的应用程序设置中有一个简单的对象数组: "AppSettings": { "Names": [ { "Id": "1",
我正在尝试在 .NET 4.7.1 MVC 应用程序中使用新的 AzureKeyVault ConfigurationBuilder,但在本地运行时不断出现配置错误: Configuration Er
var builder = new ConfigurationBuilder().AddJsonFile(somepath); 错误消息状态 ConfigurationBuilder does not
我正在尝试将源代码中的特定于环境的变量组合到App.config文件的现有配置以及AppSettings和ConnectionStrings中用于 Azure WebJob(.NET Framewor
我正在尝试将源代码中的特定于环境的变量组合到App.config文件的现有配置以及AppSettings和ConnectionStrings中用于 Azure WebJob(.NET Framewor
我正在尝试通过执行后续步骤来使用我的 json 文件中的连接字符串 Json 文件 { "ConnectionStrings": { "PlatformDatabase": "
我们将一些敏感 key 和连接字符串存储在 Web 应用程序设置下的连接字符串部分中: 我们使用ConfigurationBuilder检索配置设置: Configuration = new Conf
将 Azure Function 从 v1 移植到 v2 时,配置管理器读取 local.settings.json 的方式发生了变化。 之前,我使用以下代码在函数实例之间启用 Redis 连接池:
我已经安装了 VS 2017 Preview 和 2.1.300-preview2-008530 SDK 。现在,在我的 Web 应用程序项目中,以下序列会生成 StackOverflowExcept
我似乎坚持使用 NETFramework 4.7.1 为 Amazon 的系统管理器参数存储 (SSM) 开发自定义键/值对提供程序,该框架利用了 Microsoft.Configuration.Co
因此,我终于可以全面了解Core了,但我遇到了第一个障碍。我正在遵循Pluralsight ASP.NET Core基础知识类(class),并且尝试将appsettings.json文件也添加到配置
我是一名优秀的程序员,十分优秀!