【发布时间】:2017-10-12 16:32:17
【问题描述】:
我正在 VS 2017 中编写 Azure 函数。我需要设置一些自定义配置参数。我在local.settings.json 下的Values 下添加了它们。
{
"IsEncrypted":false,
"Values" : {
"CustomUrl" : "www.google.com",
"Keys": {
"Value1":"1",
"Value2" :"2"
}
}
}
现在,ConfigurationManager.AppSettings["CustomUrl"] 返回 null。
我正在使用:
- .NET Framework 4.7
- Microsoft.NET.Sdk.Functions 1.0.5
- System.Configuration.ConfigurationManager 4.4.0
- Azure.Functions.Cli 1.0.4
我错过了什么吗?
【问题讨论】:
-
这应该可以。你能进入调试器看看
ConfigurationManager.AppSettings里面有什么吗? -
确保将
local.settings.json标记为始终复制到构建输出。 -
@Mikhail -
ConfigurationManager.AppSettings显示 Count = 0、KeyCollection = 0 等的对象。 -
@ahmelsayed 它已经设置为“始终复制”并且构建操作为无。
-
这很奇怪。我不知道会发生什么,但这是应该发生的。当您从 VS 运行时,它应该编译并将所有文件复制到输出路径,例如
bin\Debug\net461。在那里,您应该找到每个函数的文件夹,以及您的host.json和local.settings.json。之后,VS 从上面的路径启动Azure.Functions.Cli.exe,该文件夹作为当前工作目录,host start作为参数。这应该将您的所有设置从该文件夹中的local.settings.json复制到Azure.Functions.Cli.exe.config。
标签: json azure azure-functions appsettings