将功能部署到Azure时无法加载appsettings.json文件

Sud*_*thi 1 azure azure-web-sites azure-functions

我正在使用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();
    }
}
Run Code Online (Sandbox Code Playgroud)

谁能告诉我我在这里做错了什么,还有其他在Azure功能应用程序中包含文件的问题吗?

Mik*_*kov 5

当函数在Azure中执行时,GetCurrentDirectory设置为D:\Windows\system32appsettings.json该文件夹中没有任何内容,因此是个例外。

我希望您能够设置从中加载库的目录。如果是这样,则应在类型的函数中添加一个额外的参数ExecutionContext并使用其FunctionDirectory属性。参见docs

当然,请确保appsettings.json在部署中发布到Azure。