2017-10-20 147 views
5

存在我有两个WebJobs,一个ASP.NET项目WebJobs的一个出版不错,但第二次发布失败,我得到了以下错误消息:ASP.NET Webdeploy失败; AddScheduledJob没有项目

目标“AddScheduledJob”不存在于项目中。

这两个WebJobs均设置为“按需运行”模式。

我很努力地找到这个错误的任何解释,并且看不到我的两个WebJobs之间有什么不同。任何人都会遇到这个?

编辑

我终于找到了问题的感谢大卫博指着我在正确的方向。我发现,我已经结束了,在我的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包时出了问题。

+0

你能确保你有最新版本的WebJobs发布NuGet包吗?另外,你使用什么版本的VS? –

+0

我有最新版本的WebJobs.Publish v1.1.0,我正在使用VS 2017.顺便说一句,WebJob似乎发布和运行,但是当我尝试部署时,仍然出现此错误。 –

+0

VS发布专家说它可能与缺少msbuild导入有关。看看你是否有[this](https://github.com/vijayrkn/ASPNetPublishSamples/blob/bff9f78d796668dc07d5e28a8b93531caade839c/WebAppWithWebJob/WebAppWithWebJob.csproj#L245)。还比较你的工作与非工作案例的差异。 –

回答

5

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

我用“添加现有项目如天青WebJob”流量增加,然后我在ASP.NET项目注意到,有现在两名外援:

<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

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

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