ASP.NET Webdeploy失败;项目

时间:2017-10-20 11:31:15

标签: asp.net asp.net-mvc azure-webjobs

我有一个带有两个WebJobs的ASP.NET项目,其中一个WebJobs发布正常,但第二个无法发布,我收到以下错误消息:

目标" AddScheduledJob"在项目中不存在。

两个WebJobs都设置在"按需运行"模式。

我正在努力寻找任何有关此错误的解释,并且无法看到我的两个WebJobs之间有什么不同。有人碰到过这个吗?

被修改

我最终发现问题归功于David Ebbo指点我正确的方向。我发现我的一个WebJobs项目的.csproj文件中有两个导入行:

  <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')" />

删除第一个后,一切正常。我不知道这是怎么发生的,但只能在我更新NuGet包时假设出了问题。

2 个答案:

答案 0 :(得分:6)

当我在ASP.NET站点下有现有的WebJob SDK项目时,我遇到了类似的问题,并添加了一个新项目。新版本使用的是较新版本的Microsoft.Web.WebJobs.Publish软件包。

我使用“将现有项目添加为Azure WebJob”流程来添加它,然后我注意到ASP.NET项目中的 现在有两个Imports:

  <Import Project="..\packages\Microsoft.Web.WebJobs.Publish.1.0.10\tools\webjobs.targets" Condition="Exists('..\packages\Microsoft.Web.WebJobs.Publish.1.0.10\tools\webjobs.targets')" />
  <Import Project="..\packages\Microsoft.Web.WebJobs.Publish.1.1.0\tools\webjobs.targets" Condition="Exists('..\packages\Microsoft.Web.WebJobs.Publish.1.1.0\tools\webjobs.targets')" />

我只是删除了使用较旧版本的导入,并负责处理。

答案 1 :(得分:2)

在您的WebJob项目中,删除webjob-publish-settings.json文件也会从WebAPI项目中删除webjobs-list.json。

现在,在WebAPI项目中右键单击&gt;添加&gt;现有项目作为Azure Web作业,这将重新创建webjob-publish-settings.json和webjobs-list.json文件,并应解决此问题。