Azure devops 使用网站复制源文件而不是二进制文件/可执行文件构建/部署azure webjob

Azure devops 使用网站复制源文件而不是二进制文件/可执行文件构建/部署azure webjob,azure-devops,azure-webjobs,azure-pipelines,azure-webjobssdk,azure-pipelines-release-pipeline,Azure Devops,Azure Webjobs,Azure Pipelines,Azure Webjobssdk,Azure Pipelines Release Pipeline,我已将webjobs sdk项目添加到现有网站。该网站作为azure应用程序服务运行。我总是通过在visual studio online中将新构建排队并从那里部署到我的azure网站来完成构建和部署。最近,我在同一个解决方案中创建了这个webjob项目,基于这个webjobs-list.json生成并放在网站项目中,应该会导致webjob在部署过程中也与网站一起部署(或者如文档所述)。然而,当它部署时,我看了看app_data\jobs\continuous中的内容,并不是我所期望的二进制文件

我已将webjobs sdk项目添加到现有网站。该网站作为azure应用程序服务运行。我总是通过在visual studio online中将新构建排队并从那里部署到我的azure网站来完成构建和部署。最近,我在同一个解决方案中创建了这个webjob项目,基于这个webjobs-list.json生成并放在网站项目中,应该会导致webjob在部署过程中也与网站一起部署(或者如文档所述)。然而,当它部署时,我看了看app_data\jobs\continuous中的内容,并不是我所期望的二进制文件和可执行文件,而是复制到其中的实际源代码/项目文件。显然,它不会运行,而且它不应该在我的网站上抛出源代码

我还必须在visual studio online中更改我的发布定义,以便只查找[my website project name].zip,而不只是*.zip,因为否则我将从发布中得到一个错误,指示:错误:多个与指定模式匹配的包。请限制搜索模式

…这似乎是因为构建过程不仅为我的网站创建了一个zip文件,还为webjobs项目创建了一个zip文件。根据我的理解和阅读,我应该更改我的版本,只查找网站zip文件,忽略其他zip文件,然后让它部署,它应该可以正常工作,但是,复制到网站上我的jobs文件夹中的不是webjob的二进制文件或可执行文件,而是实际的源文件

我怎样才能让它只在站点上部署二进制文件和可执行文件,而不是源文件

我唯一能做的另一件事是从web项目中删除webjobs-list.json文件,使它们不再链接在一起,这会导致构建在部署时不再使用我的web作业项目源文件填充app\u data\jobs\continuous,并在我的发布定义中创建一个额外的任务,以获取和部署在构建过程中创建的另一个zip文件(对于webjob项目,它包含调试文件和那些二进制文件,无论出于什么原因)。然而,我读到的每一篇文章都告诉我,这不是必须要做的,它应该在我不必做的情况下工作

编辑:

我的web项目是我用VS2013创建的MVC5项目。webjobs项目使用webjobs sdk的2.0.0.0版本

在构建和发布定义中,我按照本文中的步骤创建:


在阅读本文之后,我做的唯一一件额外的事情是在我的发布定义中,我更改了Package或Folder字段以查找[my mvc web project name].zip,而不是*.zip,否则,我会收到上面提到的错误消息。

您是在使用DotNet classic还是core?如果添加额外的步骤/任务来部署webjob,会出现什么问题?部署webjob()对我来说很有用。您执行了哪些详细步骤?根据我的测试,它包括运行时文件而不是源文件(MVC项目和webjob项目,然后右键单击MVC项目>添加>现有项目作为Azure作业)。你能在OneDrive上分享一个简单的解决方案吗?请看我上面编辑的评论