gpt4 book ai didi

c# - 不接受 Azure Function(ILogger 或 TraceWriter)的最后一个日志记录参数

转载 作者:太空狗 更新时间:2023-10-29 20:32:59 26 4
gpt4 key购买 nike

将我自己的项目从早期(几个月前)版本的 Azure Functions 升级到当前版本后,从 VS 启动时出现以下错误。

GetLoginUrl: Microsoft.Azure.WebJobs.Host: Error indexing method 'Login.GetLoginUrl'. Microsoft.Azure.WebJobs.Host: Cannot bind parameter 'log' to type ILogger. Make sure the parameter Type is supported by the binding. If you're using binding extensions (e.g. ServiceBus, Timers, etc.) make sure you've called the registration method for the extension(s) in your startup code (e.g. config.UseServiceBus(), config.UseTimers(), etc.).

之前,我曾经将 TraceWriter log 作为我的方法的最后一个参数,但后来我发现我应该使用 ILogger 来代替。在进行更改之前,我遇到了与上面相同的错误。

ILogger 似乎映射到程序集 Microsoft.Extensions.Logging.Abstractions。也许这就是它不被认可的原因?应该使用哪个ILogger?这是方法签名。

[FunctionName("GetLoginUrl")]
public static HttpResponseMessage GetLoginUrl(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = null)]HttpRequestMessage req,
ILogger log)

我没有尝试将其部署到 Azure。

不幸的是,创建一个全新的 Functions 项目并没有帮助,因为没有可查找的 .CS 文件来纠正此问题。

最佳答案

Microsoft.Extensions.Logging.Abstractions 是正确的程序集。

您可能直接引用一些较旧的 NuGet 包(例如 Microsoft.Azure.WebJobs)。如果有,请务必将其删除。除非您使用一些额外的绑定(bind),否则您的 csproj 引用应该看起来像这样简单:

<ItemGroup>           
<PackageReference Include="Microsoft.NET.Sdk.Functions" Version="1.0.4" />
</ItemGroup>

关于c# - 不接受 Azure Function(ILogger 或 TraceWriter)的最后一个日志记录参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46470549/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com