ConfigurationBuilder 无法在 azure 函数中工作

Mx.*_*olf 4 c# azure azure-functions

我在 VS2017 中使用 azure 函数模板项目并选择 version 2 (beta)。我发布了它没有改变并且它起作用了。

我添加了 nuget 包Microsoft.Extensions.Configuration并编写了一条语句来初始化ConfigurationBuilder 的一个实例

public static class Function1
{
    [FunctionName("Function1")]
    public static IActionResult Run([HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)]HttpRequest req, TraceWriter log)
    {
        var cb = new ConfigurationBuilder();// <<<<< added line
        log.Info("C# HTTP trigger function processed a request.");

        string name = req.Query["name"];

        string requestBody = new StreamReader(req.Body).ReadToEnd();
        dynamic data = JsonConvert.DeserializeObject(requestBody);
        name = name ?? data?.name;

        return name != null
            ? (ActionResult)new OkObjectResult($"Hello, {name}")
            : new BadRequestObjectResult("Please pass a name on the query string or in the request body");
    }
}
Run Code Online (Sandbox Code Playgroud)

使用此代码,该函数因 500 崩溃 - 内部服务器错误,我找不到任何原因。

我错过了什么吗?如何访问 Azure 函数中的配置信息 (v2.0)

编辑:在计算模拟器中执行抛出 System.Private.CoreLib:执行函数时发生异常:Function1。Aweton.Labs.AzureFunc1:无法加载文件或程序集“Microsoft.Extensions.Configuration,版本=2.1.0.0,Culture=neutral,PublicKeyToken=adb9793829ddae60”。该系统找不到指定的文件。System.Private.CoreLib:无法加载指定的文件。

Yoh*_*han 7

我遇到了同样的问题。您需要安装以下 nuget 软件包才能使它们优雅地工作 您需要首先安装Microsoft.Extensions.Configuration以进行初始化

此外

  • SetBasePath() 要求:
    • Microsoft.Extensions.Configuration.Abstractions
  • AddJsonFile() 要求:
    • Microsoft.Extensions.Configuration.FileExtensions
    • Microsoft.Extensions.Configuration.Json
  • AddEnvironmentVariables() 要求:
    • 扩展.配置.环境变量
    • 可能还有Microsoft.Extensions.Configuration.UserSecrets

请参阅下面的更多信息 https://www.koskila.net/how-to-access-azure-function-apps-settings-from-c/

  • 您是整个互联网上唯一能够解释此问题的人。谢谢 (3认同)