我是C#的新手。在我的项目中,我有一个包含以下代码的文件:
using System;
using System.IO;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.Http;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Logging;
namespace MyNamespace {
public static class MyClass {
// ...
static MyClass () {
// ...
}
[FunctionName("...")]
public static async Task<IActionResult> Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "post")] HttpRequest req,
ILogger log) {
log.LogInformation("...");
// ...
}
}
}
对于所有那些using
语句,除了Microsoft.Extensions.Logging
外,我在Solution Explorer→Dependencies→Packages下列出了一个相应的软件包。现在,Visual Studio不会抱怨这个事实,并且构建过程可以正常进行。运行该应用程序,但是,当它到达log.LogInformation("...")
语句时,就会出现此错误:
所以,我从NuGet安装它:
但是这样做,我从Azure函数的控制台中获得了一个不同的错误,即:
我该怎么办?
您是否已安装依赖包,例如Microsoft.Extensions.Logging.Abstractions。默认情况下,其奇怪的依赖程序包是在创建新的Azure函数时安装的。我建议使用Azure函数的Visual Studio模板再试一次。