我在我现有的网站上添加了一个webjobs sdk项目。该网站作为一个天蓝色的应用程序服务运行。我总是通过在线安装Visual Studio中的新版本并从那里部署到我的azure网站来完成构建和部署。最近我在同一个解决方案中创建了这个webjob项目,基于这个webjobs-list.json生成并放入网站项目应该导致webjob也在部署期间与网站一起部署(或者说文档说)。发生的事情是,当它部署时,我看看app_data \ jobs \ continuous中的内容,不是我期望的二进制文件和可执行文件,它是已经复制到那里的实际源代码/项目文件。显然这不会运行,它不应该在我的网站上抛出源代码。
我还必须在Visual Studio在线更改我的发布定义,只查找[我的网站项目名称] .zip,而不仅仅是* .zip,因为否则我会从发布中收到错误指示:错误:多个包与指定模式匹配。请限制搜索模式。
...这似乎是因为构建过程不仅为我的网站创建了一个zip文件,而且还为webjobs项目创建了一个。从我的理解和阅读,我应该改变我的发布只是寻找网站的zip文件,并忽略其他的zip文件,只是让它部署,它应该都工作正常,但再次,什么被复制到我在网站上的jobs文件夹不是webjob的二进制文件或可执行文件,它是实际的源文件。
如何使用站点而不是源文件来部署二进制文件和可执行文件?
我唯一能做的就是从web项目中删除webjobs-list.json文件,使它们不再链接在一起,这会导致构建不再使用我的web作业填充app_data \ jobs \ continuous部署时计划源文件,并在我的发行版定义中创建一个额外的任务,以获取和部署在构建期间创建的另一个zip文件(对于webjob项目,它包含带有这些二进制文件的调试文件,无论出于何种原因)。然而,我读到的所有内容都告诉我,这不应该被完成,它应该只是工作而不必我这样做。
编辑:
我的Web项目是我使用VS 2013创建的MVC 5项目.web jobs项目使用2.0.0.0版本的webjobs sdk。
构建和发布定义,我按照本文中的步骤创建:
https://www.visualstudio.com/en-us/docs/build/apps/cd/deploy-webdeploy-webapps
在完成我的发布定义之后,我在发布定义之后做了唯一的另外一件事,我更改了包或文件夹字段以查找[my mvc web project name] .zip,而不是* .zip,否则我会得到上面提到的错误信息。