发布带有计划错误的Azure Webjob

时间:2014-10-18 09:04:54

标签: azure azure-webjobs

我在发布带有来自VS 2013的日程安排的Webjob时遇到了问题。我可以按需发布""工作没有问题,但我希望它有一个时间表。

这是我在下面的错误..

发布时看起来无法找到Microsoft.Web.WebJobs.Publish.Tasks.CreateScheduledWebJob。

我已经做了一切尝试排序甚至更新VS2013到版本3,添加了Nuget包,Azure SDK,发布SDK,Azure调度程序管理库,Azure服务管理库和& Azure公共库。

我使用不同的方法创建了新的WebJob项目,

  1. 右键点击解决方案 - >添加新项目 - >云 - > Microsoft Azure WebJob
  2. 右键点击解决方案 - >添加新项目 - > Windows桌面 - >控制台应用程序
  3. 右键单击网站 - >添加 - >新的Azure Webjob项目
  4.   

    C:\发展\依赖性\ Microsoft.Web.WebJobs.Publish.1.0.0 \工具\ webjobs.console.targets(80.5):   错误MSB4061:   " Microsoft.Web.WebJobs.Publish.Tasks.CreateScheduledWebJob"任务可以   不能实例化   " C:\用户\托尼\应用程序数据\本地\组件\ DL3 \ XDNO1P6L.QON \ HEVOMEZ0.AYO \ 587c592f \ a99a921c_5eeacf01 \ Microsoft.Web.WebJobs.Publish.Tasks.dll"

    System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.WindowsAzure.Management.Scheduler, Version=1.0.0.0,
    
         

    Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其中一个   依赖。该系统找不到指定的文件。       文件名:' Microsoft.WindowsAzure.Management.Scheduler,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'          在System.Reflection.RuntimeAssembly.GetExportedTypes(RuntimeAssembly   assembly,ObjectHandleOnStack retTypes)          在System.Reflection.RuntimeAssembly.GetExportedTypes()          在Microsoft.Build.Shared.TypeLoader.AssemblyInfoToLoadedTypes.ScanAssemblyForPublicTypes()          在Microsoft.Build.Shared.TypeLoader.AssemblyInfoToLoadedTypes.GetLoadedTypeByTypeName(String   的typeName)          在Microsoft.Build.Shared.TypeLoader.GetLoadedType(Object cacheLock,Object loadInfoToTypeLock,ConcurrentDictionary2 cache,   String typeName,AssemblyLoadInfo程序集)          在Microsoft.Build.CommandLine.OutOfProcTaskAppDomainWrapperBase.ExecuteTask(IBuildEngine)   oopTaskHostNode,String taskName,String taskLocation,String   taskFile,Int32 taskLine,Int32 taskColumn,AppDomainSetup   appDomainSetup,IDictionary2 taskParams)

3 个答案:

答案 0 :(得分:0)

在我的情况下,' Microsoft.WindowsAzure.Management.Scheduler' webjob项目中引用了3.0.0.0版本,但日志报告缺少1.0.0.0版本。将以下行添加到webjob项目的App.config中解决了发布问题:

<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
  <dependentAssembly>
    <assemblyIdentity name="Microsoft.WindowsAzure.Management.Scheduler" publicKeyToken="31bf3856ad364e35" />
    <bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
  </dependentAssembly>
</assemblyBinding>
</runtime>

可以在标签内的某处添加该部分。

请允许我另外一个与您的问题无关的备注。在发布预定的webjob时,我了解到可用的重复频率取决于网站配置。我无法使用自由计划1天的复发频率(帽子按比例缩放到我的日程安排计划)。免费计划显然只支持1天的复发(写作时间)。

希望这有助于进一步发展。

答案 1 :(得分:0)

我添加了并尝试使用右键单击项目并选择add - &gt;创建了一个新的Webjob。新的Azure WebJob项目得到了相同的

答案 2 :(得分:0)

也许您可以回避整个问题而只是使用TimerTrigger进行调度?确保部署为触发的WebJob。