在VS2017中使用xUnit测试.NET Core 2.0类库时如何设置ASPNETCORE_ENVIRONMENT

alv*_*peo 7 testing xunit .net-core visual-studio-2017 asp.net-core-2.0

我使用此代码根据xUnit 测试项目中的环境加载设置:

public class TestSettings
{
    public string AzureConnectionString { get; }

    public TestSettings(ITestOutputHelper output)
    {
        string envVariable = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT");

        output.WriteLine($"env: '{envVariable}'");

        IConfigurationRoot config = new ConfigurationBuilder()
            .AddJsonFile("appsettings.json")
            .AddJsonFile($"appsettings.{envVariable}.json", optional: true)
            .Build();
        AzureConnectionString = config.GetConnectionString("AzureStorage");
    }
}
Run Code Online (Sandbox Code Playgroud)

但无论我做什么,我都会感到envVariable空虚。我在哪里可以设置ASPNETCORE_ENVIRONMENT测试项目(VS2017)?

致 ASP.NET Core 工具团队

请使测试项目设置适用于环境。谢谢。

alv*_*peo 3

好的,在 Windows 上ASPNETCORE_ENVIRONMENT使用以下命令设置:

setx ASPNETCORE_ENVIRONMENT Development
Run Code Online (Sandbox Code Playgroud)

所以该值保持不变(注意“set x ”)。

另外,看看这个答案/sf/answers/3076585291/