我试图发布我的网站以及一些WebJobs,但在Azure网站上创建网站和作业之后,我看到VS.NET 2013上的错误说:
Error 948 An error occurred while creating the WebJob schedule: No website could be found which matches the WebSiteName [mysitename] and WebSiteUrl [http://mysitename.azurewebsites.net] supplied
我的网站有2个WebJobs,1个连续运行并且已经创建并运行,但需要按计划触发的那个就是这个问题。
关于这里可能出错的任何想法?
修改1
只是想补充一下,计划作业将被创建为" On Demand"
这是我正在使用的发布设置:
{
"$schema": "http://schemastore.org/schemas/json/webjob-publish-settings.json",
"webJobName": "ArchiveShipments",
"startTime": "2015-01-11T00:00:00+05:30",
"endTime": null,
"jobRecurrenceFrequency": "Day",
"interval": 1,
"runMode": "Scheduled"
}
我应用AzureSDK后BTW。 2.5我发布时没有看到任何错误,但是没有创建预定的WebJob。
答案 0 :(得分:51)
对于我来说,当我从部署到一个Azure帐户切换到另一个帐户时,就发生了这种情况。 在Visual Studio中,打开/展开Server Explorer侧窗口,右键单击Azure,选择" Connect to Microsoft Azure Subscription ..."。系统会要求您注销并使用新凭据登录。
答案 1 :(得分:10)
如果从PowerShell发布时出现此错误,则可能表示您未登录到您的azure订阅或登录错误的订阅。如果浏览器没有提示您输入凭据,则可能使用了错误的订阅。如果没有要求登录,请清除cookie并再试一次。
答案 2 :(得分:2)
尝试将我的webjob发布到部署位置时出现此问题。
webjob已发布,但在尝试连接时间表时未找到该网站。
我能够通过门户网站进行一次手动发布,并在那里设置时间表来解决这个问题。 之后,我可以从VS发布,并且时间表将保持不变。
答案 3 :(得分:1)
我花了一整天时间。对我来说,解决方案是通过上传ZIP并根据需要安排来手动部署Web作业。然后,在VS中,我将Add Existing Project添加为Web作业,并且发布Web站点按预期更新了计划的Web作业。
答案 4 :(得分:1)
最近更新后,情况发生了变化。我无法发布到我预定工作的任何订阅中。经过深入挖掘后,解决方案如下: - 右键单击解决方案并管理解决方案的NuGet包 - 将所有Web Publish模块更改为版本1.0.3
发布。问题解决了。
答案 5 :(得分:1)
在这里尝试了一切并仍然遇到了同样的问题,但我设法解决了以下问题:
我安装了一个名为Microsoft.Web.WebJobs.Publish
的软件包,它运行的是旧版本(1.0.3
)。我更新到最新版本,目前为1.10.12
,然后是第一次发布的app和webjob / schedule。
答案 6 :(得分:1)
我在VS2017中又遇到了这个问题,根本原因是deprecation of the VS Azure Scheduler integration feature。根据David Ebbo在链接线程中的建议,我将我的webjobs转换为使用CRON scheduling feature,现在发布按预期工作。请注意,必须在应用上启用始终开启设置。
如果您遇到此问题,可以使用更多调试选项:
确保使用正确的发布配置文件(pubxml
)文件。我有几个针对同一个webjob的发布配置文件,并尝试错误地发布错误。
我建议先尝试一个一个地单独发布webjobs(而不是将它们全部发布到网站旁边)。
如果您无法通过webjob发布,请删除其Properties\PublishProfiles
文件夹并尝试重新发布 - 您将会看到一个VS向导,可以让您排序(它会正确地重新创建pubxml
个文件。
答案 7 :(得分:0)
尝试更新到Azure SDK的2.9版,该版本修复了相关问题:
与Scheduled WebJobs相关的修复问题 身份验证信息未能传递给调度程序 供应过程
(https://www.visualstudio.com/en-us/news/vs2015-update2-vs.aspx)
修改强>
我最终放弃使用此调度程序,并切换到Kudu Scheduler(内部WebJob调度程序)。请参阅:https://github.com/projectkudu/kudu/wiki/Web-jobs#scheduling-a-triggered-webjob
实际上更容易设置。您需要做的就是将settings.json文件添加到webjob,其中包含以下内容:{"schedule": "the schedule as a cron expression"}
这里讨论使用Azure Scheduler与Kudu Scheduler的利弊:http://blog.amitapple.com/post/2015/06/scheduling-azure-webjobs/#.Vz4sk5ErJaQ
该博客文章中未提及的一个重要限制是,在计划程序的免费层上不支持创建比每小时更频繁的计划<(如果您没有故意,可能会使用改变它,因为它与应用服务层分开)。这最终驱使我去了Kudu调度员,因为我需要安排我的工作每15分钟运行一次
答案 8 :(得分:0)
在我的情况1.10.12中,将nuget包更新到最新更新,就可以了。
然而,Visual Studio没有设法删除以前的包。要做到这一点,我必须重新启动Windows,然后在打开visual studio之前,删除包含旧版webjobs.publish的文件夹。
这对我有用了!
答案 9 :(得分:0)
我设法通过删除Web csproj文件中的旧引用来消除此错误
<Import Project="..\packages\Microsoft.Web.WebJobs.Publish.1.0.7\tools\webjobs.targets" Condition="Exists('..\packages\Microsoft.Web.WebJobs.Publish.1.0.7\tools\webjobs.targets')" />
我已经升级到了更新的软件包Microsoft.Web.WebJobs.Publish.2.0.0
,该软件包也已被引用。