我有一个由
组成的Windows Azure项目我希望将这两个控制台应用程序与Azure网站一起部署为Azure WebJobs。所以我在ASP.NET项目上选择了clikec并选择了Add |现有项目为Azure WebJob,并添加了具有正确计划的两个控制台应用程序。
一切似乎都很好,2个控制台应用程序现在包含一个带有计划的JSON,ASP.NET项目包含一个带有WebJobs定义的JSON。所有的项目都很好。
问题是,当我尝试将ASP.NET项目部署到Azure时,我得到了
The target “ResolveWebJobFiles” does not exist in the project
当作者通过添加
解决了这个问题时,我找到了this article<Import Project="..\packages\Microsoft.Web.WebJobs.Publish.1.0.2\tools\webjobs.targets" Condition="Exists('..\packages\Microsoft.Web.WebJobs.Publish.1.0.2\tools\webjobs.targets')" />
到他的csproj文件,但是我的ASP.NET项目的csproj文件已经包含了这个导入。
任何想法是什么问题?
答案 0 :(得分:29)
即使我遇到这个问题。我在我的webjob中重新安装了以下软件包来解决它
package id =&#34; Microsoft.Web.WebJobs.Publish&#34;版本=&#34; 1.0.2&#34;
答案 1 :(得分:6)
一个主要原因可能是缺少“属性”中的“webjob-publish-settings.json”文件。
请仔细检查此文件是否存在并包含在您的项目中。
答案 2 :(得分:4)
检查您的webjob项目属性文件夹中是否包含此文件: webjob-发布 - settings.json
如果没有,请使用此内容创建它,仅更改webJobName(现在)
{
"$schema": "http://schemastore.org/schemas/json/webjob-publish-settings.json",
"webJobName": "MyWebJobName",
"startTime": "2014-12-09T00:00:00-08:00",
"jobRecurrenceFrequency": "Hour",
"interval": 1,
"runMode": "Scheduled",
"stopping_wait_time": 3600
}
答案 3 :(得分:4)
在我的情况下是这个文件,其中有1个与之关联的无效webjob,将其删除并开始工作
<强> webjobs-list.json 强>
答案 4 :(得分:3)
我也碰到了这个。更新我的解决方案中的所有包后,我开始得到这个。 lock.wait();
就在那里,但它正在考虑使用不同的版本。所以也要检查一下。
答案 5 :(得分:1)
我最近收到了这个错误,发现原因是[WebProject] /Properties/webjobs-list.json包含对已从解决方案中删除的旧webjob的引用。从json删除引用修复了问题。
答案 6 :(得分:1)
启用WebJobs的项目添加了以下项目:
- Microsoft.Web.WebJobs.Publish NuGet包。
- 包含部署和调度程序设置的webjob-publish-settings.json文件。
它清楚地表明需要引用Microsoft.Web.WebJobs.Publish
Nuget包的项目是启用Webjob的项目应用程序,而不是Web应用程序。 Web应用程序只需要webjobs-list.json
个文件。
webjob控制台应用程序也可能有webjob-publish-settings.json
个文件
但仅限于非连续工作
答案 7 :(得分:0)
另外值得一试的是WebJob项目的.net版本与您的Web应用程序的对比!
答案 8 :(得分:0)
在 Kudu 中(在 Web 应用程序管理页面上的“高级工具”下的“开发工具”下),在“调试控制台”下,选择“Powershell”,然后导航到“站点”文件夹,然后是“存储库”文件夹。
在命令行输入命令“dotnet restore”,然后重新部署。