ASP.NET Web 部署失败;项目中不存在 AddScheduledJob
ASP.NET Webdeploy failing; AddScheduledJob does not exist in project
我有一个包含两个 WebJobs 的 ASP.NET 项目,其中一个 WebJobs 发布正常,但第二个发布失败,我收到以下错误消息:
目标 "AddScheduledJob" 在项目中不存在。
两个 WebJobs 都设置为 "Run on Demand" 模式。
我正在努力寻找对此错误的任何解释,但看不出我的两个 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 包时出了点问题。
在您的 WebJob 项目中删除 webjob-publish-settings.json 文件,同时从您的 WebAPI 项目中删除 webjobs-list.json。
现在,在 WebAPI 项目中右键单击 > 添加 > 现有项目作为 Azure Web 作业,这将重新创建 webjob-publish-settings.json 和 webjobs-list.json 文件,应该可以解决问题。
当我在 ASP.NET 站点下有现有的 WebJob SDK 项目时,我遇到了类似的问题,我添加了一个新项目。新版本使用的是更新版本的 Microsoft.Web.WebJobs.Publish 软件包。
我使用 "Add Existing Project as Azure 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')" />
我只是删除了旧版本的导入,这样就解决了。
我有一个包含两个 WebJobs 的 ASP.NET 项目,其中一个 WebJobs 发布正常,但第二个发布失败,我收到以下错误消息:
目标 "AddScheduledJob" 在项目中不存在。
两个 WebJobs 都设置为 "Run on Demand" 模式。
我正在努力寻找对此错误的任何解释,但看不出我的两个 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 包时出了点问题。
在您的 WebJob 项目中删除 webjob-publish-settings.json 文件,同时从您的 WebAPI 项目中删除 webjobs-list.json。
现在,在 WebAPI 项目中右键单击 > 添加 > 现有项目作为 Azure Web 作业,这将重新创建 webjob-publish-settings.json 和 webjobs-list.json 文件,应该可以解决问题。
当我在 ASP.NET 站点下有现有的 WebJob SDK 项目时,我遇到了类似的问题,我添加了一个新项目。新版本使用的是更新版本的 Microsoft.Web.WebJobs.Publish 软件包。
我使用 "Add Existing Project as Azure 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')" />
我只是删除了旧版本的导入,这样就解决了。