我有一个带有两个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包时出了问题.
解决方法
当我在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')" />
我只是删除了旧版本的导入,并负责处理它.