C# Azure网站中的项目中不存在目标“ResolveWebJobFiles”
我有一个Windows Azure项目,包括 使用部署为Azure网站的NancyFX的ASP.NET项目 业务逻辑类库 单元测试类库 2个控制台应用程序 我希望这2个控制台应用程序被部署为Azure网站的Azure WebJobs。因此,我在ASP.NET项目上修改了clikec,选择将现有项目添加为Azure WebJob,并以正确的时间表添加了这两个控制台应用程序 一切似乎都很好,2个控制台应用程序现在包含一个带有时间表的JSON,ASP.NET项目包含一个带有WebJobs定义的JSON。所有的项目都很好 问题是,当我尝试将ASP.NET项目部署到Azure时,我发现C# Azure网站中的项目中不存在目标“ResolveWebJobFiles”,c#,asp.net,azure,msbuild,azure-webjobs,C#,Asp.net,Azure,Msbuild,Azure Webjobs,我有一个Windows Azure项目,包括 使用部署为Azure网站的NancyFX的ASP.NET项目 业务逻辑类库 单元测试类库 2个控制台应用程序 我希望这2个控制台应用程序被部署为Azure网站的Azure WebJobs。因此,我在ASP.NET项目上修改了clikec,选择将现有项目添加为Azure WebJob,并以正确的时间表添加了这两个控制台应用程序 一切似乎都很好,2个控制台应用程序现在包含一个带有时间表的JSON,ASP.NET项目包含一个带有WebJobs定义的JSON
The target “ResolveWebJobFiles” does not exist in the project
我发现当作者通过添加
<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文件已包含此导入
你知道问题出在哪里吗?我也遇到了这个问题。在更新我的解决方案中的所有包之后,我开始得到这个。这本书在那里,但它指向了一个不同的版本。所以也要检查一下。即使是我也面临着这个问题。我在我的webjob中重新安装了下面的包来解决它
包id=Microsoft.Web.WebJobs.Publish version=1.0.2检查webjob项目属性文件夹中是否有此文件: webjob-publish-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
}
我最近遇到这个错误,并发现原因是[WebProject]/Properties/webjobs-list.json包含对已从解决方案中删除的旧webjob的引用。从json中删除引用修复了这个问题。在我的例子中,就是这个文件,它有一个无效的webjob与之关联,删除了它并开始工作
webjobs list.json一个主要原因可能是属性中缺少webjob-publish-settings.json文件
请仔细检查此文件是否存在并包含在您的项目中。同样值得检查的是WebJob项目的.net版本与您的Web应用程序 如中所述 启用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文件
但仅当Kudu中存在非连续作业时在web应用程序管理页面的“高级工具”下,在“开发工具”下,在“调试控制台”下,选择Powershell,然后导航到站点文件夹,然后导航到存储库文件夹
在命令行中输入dotnet restore命令,然后重新部署。检查您的项目是否引用了WebJob程序集Microsoft.Azure.Webjobs+Microsoft.Azure.Webjobs.Host如果没有,您可以使用nuget软件包Microsoft.Azure.Webjobs添加它们Microsoft.Azure.Webjobs从nuget下载Microsoft.Azure.Webjobs软件包,并在更新到后添加WebJobsName问题时自动引用1.0.3对我来说,解决这个问题的方法是在Web作业项目本身(即控制台应用程序)中安装“Microsoft.Web.WebJobs.Publish”Nuget软件包。我已经在ASP.NET项目中安装了这个Nuget包,但它似乎在两个或至少在web作业项目中都需要。谢谢你,伙计!只需在WebJob项目上简单地重新安装、卸载并安装此软件包,即可实现此目的。这可能是由于将WebJob从一个目录移动到另一个目录引起的。@Santosh这很有趣,我只在web应用程序中安装了此程序包,从未在WebJob中安装过,而且我的所有WebJob都与它们关联的web应用程序一起部署。这是我的问题,我的web项目(而不是webjob)中的导入指向了webjob的旧位置如果没有webjob-publish-settings.json,我的连续webjob也无法部署。是的,正是这样。我在其他5份工作中都做过,但没能把它放在这里。