.NET Core 3.1 应用程序不读取 Azure Pipelines 变量
.NET Core 3.1 app not reading Azure Pipelines variable
我有一个 .NET Core 3.1 测试项目,代码如下:
var configuration = new ConfigurationBuilder()
.SetBasePath(Environment.CurrentDirectory)
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: false)
.AddEnvironmentVariables()
.Build();
然后我在我的一个测试中尝试访问配置值:
var storageAcc = configuration["AzureWebJobsStorage"];
在本地运行良好,因为它使用 appsettings.json
,它具有以下内容:
{
"AzureWebJobsStorage": "UseDevelopmentStorage=true"
}
我现在正尝试通过变量在 Azure Pipelines 中覆盖:
但是当我 运行 在 CI 上构建时,我的代码崩溃了,说值是 null
。
奇怪的是,这个 setup/code 在 .NET Core 2.2 上运行良好,但在我升级到 .NET Core 3.1 时出错。所以想知道 Microsoft.Extensions.Configuration
3.x 升级路径是否有问题? (在网上找不到任何东西)
有人有什么想法吗?
提前致谢!
好的,找到答案了。
TLDR;区分大小写失败
我不得不将 appsettings.json
中的密钥更改为 AZUREWEBJOBSSTORAGE
。我想出这个是因为在 Azure Pipelins 上转储环境变量时,我看到变量是大写的(注意:我正在使用 ubuntu
托管代理,它可以在这里发挥作用)。所以,我想如果情况不同的话,这并没有被正确地覆盖。
现在,我不知道这是如何在 .NET Core 2.2 上工作的,但在 .NET Core 3.1 上却没有(我没有接触 Azure Pipelines,只是项目的 SDK)。如果有人碰巧弄明白了,请告诉我!
希望对某人有所帮助。纯属幸运,我想通了:(
我有一个 .NET Core 3.1 测试项目,代码如下:
var configuration = new ConfigurationBuilder()
.SetBasePath(Environment.CurrentDirectory)
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: false)
.AddEnvironmentVariables()
.Build();
然后我在我的一个测试中尝试访问配置值:
var storageAcc = configuration["AzureWebJobsStorage"];
在本地运行良好,因为它使用 appsettings.json
,它具有以下内容:
{
"AzureWebJobsStorage": "UseDevelopmentStorage=true"
}
我现在正尝试通过变量在 Azure Pipelines 中覆盖:
但是当我 运行 在 CI 上构建时,我的代码崩溃了,说值是 null
。
奇怪的是,这个 setup/code 在 .NET Core 2.2 上运行良好,但在我升级到 .NET Core 3.1 时出错。所以想知道 Microsoft.Extensions.Configuration
3.x 升级路径是否有问题? (在网上找不到任何东西)
有人有什么想法吗?
提前致谢!
好的,找到答案了。
TLDR;区分大小写失败
我不得不将 appsettings.json
中的密钥更改为 AZUREWEBJOBSSTORAGE
。我想出这个是因为在 Azure Pipelins 上转储环境变量时,我看到变量是大写的(注意:我正在使用 ubuntu
托管代理,它可以在这里发挥作用)。所以,我想如果情况不同的话,这并没有被正确地覆盖。
现在,我不知道这是如何在 .NET Core 2.2 上工作的,但在 .NET Core 3.1 上却没有(我没有接触 Azure Pipelines,只是项目的 SDK)。如果有人碰巧弄明白了,请告诉我!
希望对某人有所帮助。纯属幸运,我想通了:(