【发布时间】:2017-12-14 16:54:50
【问题描述】:
我正在开发 azure 函数应用程序,它从核心文件夹中引用另一个项目,并且该项目包含以下类。
在此我试图读取 appsettings.json 文件,它在本地运行良好,但是当它部署到 azure 门户时,它找不到该文件并且 builder.Build() 方法抛出 FileNotFoundException。
public static class ConfigurationSettings
{
public static IConfigurationRoot GetConfigurationRoot()
{
var builder = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json");
return builder.Build();
}
}
谁能建议我在这里做错了什么,还有其他可以在 azure 函数应用程序中包含文件的方法吗?
【问题讨论】:
-
不是分析器,而是更多的提示。不要使用
appsettings.json文件为您的应用程序加载配置值。使用可用的适当功能,如ConfigurationManager并使用应用程序设置,这些设置可以手动设置,也可以通过某些部署工具(如 VSTS) -
我创建了一个自定义提供程序,之后我开始收到错误“找不到配置文件 'appsettings.json' 并且不是可选的。物理路径是 'D:\Program Files (x86) \SiteExtensions\Functions\1.0.11388\appsettings.json'。”它正在寻找在天蓝色门户中执行代码的文件,但我认为它在内容根目录中寻找文件。如果它是正常的 .net 核心项目,我可以使用 IhostingEnvironment 实现,但不确定它是否适用于功能应用程序。
-
@Jan_V 我知道我们不应该使用 appsettings.json 文件,但问题是我的项目没有任何启动类并且绑定一些项目设置这是我能想到的唯一方法现在。
标签: azure azure-web-app-service azure-functions