wpf*_*abe 7 c# azure azure-webjobs azure-functions
将我自己的项目从早期(几个月前)版本的Azure功能升级到当前版本后,从VS启动时出现以下错误.
GetLoginUrl:Microsoft.Azure.WebJobs.Host:错误索引方法'Login.GetLoginUrl'.Microsoft.Azure.WebJobs.Host:无法将参数'log'绑定到类型ILogger.确保绑定支持参数Type.如果您正在使用绑定扩展(例如ServiceBus,Timers等),请确保您已在启动代码中调用扩展的注册方法(例如config.UseServiceBus(),config.UseTimers()等).
之前,我曾经把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)
Run Code Online (Sandbox Code Playgroud)
我没有尝试将其部署到Azure.
不幸的是,创建一个全新的函数项目并没有帮助,因为没有.CS文件可以查找以纠正这个问题.
Microsoft.Extensions.Logging.Abstractions是正确的装配。
您可能直接引用一些较旧的 NuGet 包(例如Microsoft.Azure.WebJobs)。如果有,请务必将其删除。除非您使用一些额外的绑定,否则您的csproj引用应该看起来像这样简单:
<ItemGroup>
<PackageReference Include="Microsoft.NET.Sdk.Functions" Version="1.0.4" />
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2028 次 |
| 最近记录: |