【问题标题】:Publish Azure Webjob with Schedule error发布带有计划错误的 Azure Webjob
【发布时间】:2014-10-18 09:04:53
【问题描述】:

我在使用 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 项目

C:\Development\dependencies\Microsoft.Web.WebJobs.Publish.1.0.0\tools\webjobs.console.targets(80,5): 错误 MSB4061: “Microsoft.Web.WebJobs.Publish.Tasks.CreateScheduledWebJob”任务可以 不被实例化 “C:\Users\Tony\AppData\Local\assembly\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,版本=1.0.0.0,文化=中性,PublicKeyToken=31bf3856ad364e35” 在 System.Reflection.RuntimeAssembly.GetExportedTypes(RuntimeAssembly 程序集,ObjectHandleOnStack retTypes) 在 System.Reflection.RuntimeAssembly.GetExportedTypes() 在 Microsoft.Build.Shared.TypeLoader.AssemblyInfoToLoadedTypes.ScanAssemblyForPublicTypes() 在 Microsoft.Build.Shared.TypeLoader.AssemblyInfoToLoadedTypes.GetLoadedTypeByTypeName(字符串 类型名称) 在 Microsoft.Build.Shared.TypeLoader.GetLoadedType(对象 cacheLock,对象 loadInfoToTypeLock,ConcurrentDictionary2 缓存, 字符串类型名称、AssemblyLoadInfo 程序集) 在 Microsoft.Build.CommandLine.OutOfProcTaskAppDomainWrapperBase.ExecuteTask(IBuildEngine oopTaskHostNode,字符串 taskName,字符串 taskLocation,字符串 taskFile, Int32 taskLine, Int32 taskColumn, AppDomainSetup appDomainSetup, IDictionary2 taskParams)

【问题讨论】:

  • 对此的最新更新是我将 MVC 应用程序从 MVC4 升级到 MVC5 并且没有任何区别。我还更新了项目中的所有依赖项,但仍然没有任何乐趣。

标签: azure azure-webjobs


【解决方案1】:

在我的例子中,'Microsoft.WindowsAzure.Management.Scheduler' 版本 3.0.0.0 在 webjob 项目中被引用,但日志报告缺少版本 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>

该部分可以添加到标签中的某处。

请允许我补充一条与您的问题无关的注释。在发布计划的网络作业时,我了解到可用的重复频率取决于网站配置。我无法在免费计划中使用低于 1 天的重复频率(可以按我的日程安排计划的标准进行调整)。免费计划显然只支持 1 天的重复周期(撰写本文时)。

希望这有助于进一步。

【讨论】:

    【解决方案2】:

    我添加了它并尝试通过使用右键单击项目并选择添加 -> 新 Azure WebJob 项目来创建一个新的 Webjob 并得到相同的结果

    【讨论】:

    • 现在差不多三年前了。我想我刚刚解决了这个问题
    • 谢谢,我最近遇到了同样的问题,但已经解决了。
    【解决方案3】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-07
      • 1970-01-01
      • 1970-01-01
      • 2014-10-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多