C# Webjob V3未启动:未找到方法:';Microsoft.WindowsAzure.Storage.Blob.CloudBlobContainer

C# Webjob V3未启动:未找到方法:';Microsoft.WindowsAzure.Storage.Blob.CloudBlobContainer,c#,.net,azure,azure-webjobs,C#,.net,Azure,Azure Webjobs,我有一个V3.NETWebJob,它没有在本地计算机上启动。我已经有一段时间没有做过这方面的工作了,但从那时起,我在整个解决方案中更新包时,已经经历了几轮包更新。(没有测试webjob,是的,我知道,我真蠢。) 以下是webjob控制台的输出: fail:Host.Startup[0]函数“Functions.Run”的侦听器无法启动。Microsoft.Azure.WebJobs.Host.Listeners.FunctionListenerException:函数“Functions.Run

我有一个V3.NETWebJob,它没有在本地计算机上启动。我已经有一段时间没有做过这方面的工作了,但从那时起,我在整个解决方案中更新包时,已经经历了几轮包更新。(没有测试webjob,是的,我知道,我真蠢。)

以下是webjob控制台的输出:

fail:Host.Startup[0]函数“Functions.Run”的侦听器无法启动。Microsoft.Azure.WebJobs.Host.Listeners.FunctionListenerException:函数“Functions.Run”的侦听器无法启动。-->System.MissingMethodException:找不到方法:“Microsoft.WindowsAzure.Storage.Blob.CloudBlobContainer Microsoft.Azure.WebJobs.DistributedLockManagerContainerProvider.get_InternalContainer()”。位于Microsoft.Azure.WebJobs.Extensions.Timers.StorageScheduleMonitor.get_TimerStatusDirectory(),位于Microsoft.Azure.WebJobs.Extensions.Timers.StorageScheduleMonitor.GetStatusBlobReference(字符串timerName)在C:\azure webjobs sdk extensions\src\webjobs.extensions\extensions\Timers\ScheduleMonitor\StorageScheduleMonitor.cs中:Microsoft.azure.webjobs.extensions.Timers.StorageScheduleMonitor.d_u10.MoveNext()的第144行---在System.Runtime.CompilerServices.TaskAwaiter.ThrowForOnSuccess(任务任务)在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)在System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(任务任务任务)上引发异常的上一个位置的堆栈结束跟踪位于C:\Azure WebJobs sdk Extensions\src\WebJobs.Extensions\Timers\Listener.TimerListener.TimerListener.d_u27.MoveNext()中的Microsoft.Azure.WebJobs.Extensions\Extensions\Timers\Listener\TimerListener.cs:line 99---从引发异常的上一个位置开始的堆栈结束跟踪---在System.Runtime.CompilerServices.TaskWaiter.ThrowForOnSuccess(任务任务)位于Microsoft.Azure.WebJobs.Host.Listeners.SingletonListener.d_u13.MoveNext()的System.Runtime.CompilerServices.TaskWaiter.HandleNonSuccessAndDebuggerNotification(任务任务任务)中在C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.azure.webjobs.Host\Singleton\SingletonListener.cs中:第70行--从引发异常的前一个位置开始的堆栈结束跟踪--在System.Runtime.CompilerServices.TaskWaiter.ThrowForOnSuccess(任务任务)在C:\projects\Azure-WebJobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host.Listeners.FunctionListener.d_u13.MoveNext()中的Microsoft.Azure.WebJobs.Host\Listeners\FunctionListener.cs中的System.Runtime.CompilerServices.taskwaiter.HandleNonSuccessAndDebuggerNotification(任务任务任务任务任务)处:第68行---内部异常堆栈跟踪的结尾---

错误发生在以下位置:

IHost host = builder.Build();  

using (host)
{
    Run(); // Exception

我尝试了很多不同的方法,但我甚至不确定这个错误消息的含义。我认为可能是存储模拟器或新的软件包,但我不确定。

我仍然不知道到底出了什么问题,但很明显,软件包升级破坏了某些东西。新的webjob项目模板的结构与我使用的旧模板不同,并且存在问题

例如,在Visual Studio中,新项目具有依赖项,而不是属性、引用和packages.config,在这些依赖项下是程序集、程序包和项目。此外,在Visual Studio中双击新项目名称时,它会打开.csproj文件

我将逻辑从旧的webjob项目转移到新的项目中,该项目显然使用了最新的webjob模板。您还可以在新模板中稍微不同地配置存储字符串,例如
Environment.SetEnvironmentVariable(“AzureWebJobsDashboard”),
Environment.SetEnvironmentVariable(“azurewebjobstorage”),


我的webjob正在工作,将逻辑转移到新项目中并不需要很长时间。

我仍然不知道到底出了什么问题,但包升级显然破坏了某些东西。新的webjob项目模板的结构与我使用的旧模板不同,并且存在问题

例如,在Visual Studio中,新项目没有属性、引用和packages.config,而是具有依赖项,依赖项下是程序集、包和项目。此外,在Visual Studio中双击新项目名称时,它会打开.csproj文件

我将旧webjob项目的逻辑转换为一个新项目,该项目显然使用了最新的webjob模板。您也可以在新模板中稍微不同地配置存储字符串,例如
环境.SetEnvironmentVariable(“AzureWebJobsDashboard”),
环境.SetEnvironmentVariable(“AzureWebJobstorage”,


我的webjob现在正在工作,将逻辑转移到新项目中并不需要很长时间。

您能提供您的sdk版本吗?@JimXu根据以下路径
C:\Program Files\Microsoft sdk\Azure\.NET sdk
我安装了2.4到2.9版本。这是查看的正确位置吗?您好。我想知道您在webjob pro中使用了哪些软件包根据我的测试,webjob sdk v3对我来说没问题。我的包文件:。我的
程序.cs
是:我的函数文件:。我的结果:你能提供你的sdk版本吗?@JimXu根据这个路径
C:\Program Files\Microsoft sdk\Azure\.NET sdk
我已经安装了2.4到2.9版本。这是合适的地方吗?嗨,我想知道您在webjob项目中使用了哪些软件包。根据我的测试,我可以使用webjob sdk v3。我的软件包文件:。我的
Program.cs
是:我的函数文件:。我的结果: