我有一个带有两个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包时假设出了问题。
答案 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文件,并应解决此问题。