Asp.net 发布Web应用程序时,为什么未拾取对我的Web作业的更改?

Asp.net 发布Web应用程序时,为什么未拾取对我的Web作业的更改?,asp.net,asp.net-mvc,azure,azure-web-app-service,azure-webjobs,Asp.net,Asp.net Mvc,Azure,Azure Web App Service,Azure Webjobs,我有一个部署到Azure的ASP.NET MVC Web应用程序。VS 2013 Pro中的解决方案有3个项目: Web应用程序项目 Webjob项目 存储应用程序和Webjob通用代码的通用项目 Webjob项目是通过添加-->新建Azure Webjob项目上下文菜单添加到主应用程序项目的,该菜单实际上在同一解决方案中添加了一个新项目,这很好 当我最初将应用程序发布到Azure时,Webjob也已部署,并且一切正常。Webjob按计划每天运行一次 现在我对Webjob进行了一些本地更改,

我有一个部署到Azure的ASP.NET MVC Web应用程序。VS 2013 Pro中的解决方案有3个项目:

  • Web应用程序项目
  • Webjob项目
  • 存储应用程序和Webjob通用代码的通用项目
Webjob项目是通过
添加-->新建Azure Webjob项目
上下文菜单添加到主应用程序项目的,该菜单实际上在同一解决方案中添加了一个新项目,这很好

当我最初将应用程序发布到Azure时,Webjob也已部署,并且一切正常。Webjob按计划每天运行一次

现在我对Webjob进行了一些本地更改,需要发布这些更改。我按照相同的过程部署应用程序(
rtClick main App-->Publish
),该应用程序还应拾取对Webjob的更改,但预览窗格未拾取更改,因此更改随后不会发布到Webjob

顺便说一句,我对公共项目所做的任何更改都被成功地接受了,所以看起来在进行更改和发布Webjobs时有些奇怪


以前有人遇到过这个问题吗?

尝试在VS中执行“发布到本地文件系统”,并检查WebJobs文件是否包含在该文件夹中(在
App\u Data
下)。如果可行,请尝试更改WebJob,然后向同一文件夹进行增量发布。你可以找到更多与此相关的信息

通常,您在本地文件夹中获得的任何文件集都将部署到Azure Web应用程序中

如果相同的问题在本地发生,那么您的应用程序中的WebJobs NuGet包可能有问题。您可以尝试检查NuGet更新


为了进一步隔离,您可以做的另一件事是使用WebJob创建一个新的干净的虚拟WebApp,看看您是否看到了相同的内容。这将有助于确定它是否特定于您的一个项目。

我已找到问题的原因。这其实很简单,但也很令人沮丧

发布web应用程序时,您可以选择
删除目标位置的其他文件
。我总是留着这张支票,因为我不喜欢老文件无缘无故地到处乱放

您还可以选择
从App_数据文件夹中排除文件
,我也始终保持选中状态,以便不会根据上述删除配置删除
App_数据中的文件。然后,我通常会将NLog日志文件、ELMAH xml文件等配置为进入
App_Data
safe,因为其中的任何内容都不会被删除

因此,Webjobs的问题是它们被部署到
App\u Data
中。因此,如果选中了“从App_数据文件夹中排除文件”
,那么当发布应用程序时,它会按照指示执行操作,并忽略
App_数据,从而忽略对Webjob的更改

因此,简单的解决方案是取消选中此选项,然后成功部署Webjob。但是现在的问题是
App_Data
中的所有其他文件都将被删除(日志文件等)

因此,您可以取消选中删除文件配置,但这样可能会留下其他不需要的文件。不理想

另一个选项是保持“删除配置”处于选中状态,在发布之前单击“发布”对话框中的“预览”按钮,然后手动取消选中不希望删除的每个文件。但是,如果要保留的任何文件位于
App_Data
的子文件夹中,例如
App_Data/logs
,则发布过程将失败

因此,另一个选项是将
App_Data
中要保留在
App_Data
根目录中的所有文件移动,然后在发布之前在预览窗口中取消选中每个文件。如果只做一次就没什么大不了的,但是如果发布了很多次就会变得单调乏味

我意识到我可以将日志文件等移动到Azure存储、SQL DBs等,但如果其他文件在
App\u Data
中,需要保留哪些呢
App_数据
并非仅用于Webjobs,但如果您还将
App_数据
用于其他用途,则使用Webjobs会造成一些尴尬的情况


想知道我是否遗漏了任何明显的内容吗?

这详细描述了部署过程。我想你是按照这些步骤做的。可能是项目重命名或其他原因导致您的
webjobs list.json
文件无效?建议检查其中的路径是否正确。您还可以尝试删除并重新建立WebJob项目链接,看看这是否可以解决问题。谢谢,我已经按照所有部署说明进行了操作。正如我所说,webjob已经发布,运行良好。只是现在我做了一些更改,这些更改才没有发布。谢谢David,我与您在
App\u Data
文件夹上的操作类似,结果发现
Exclude files from the App\u Data folder
复选框是原因。查看我的答案,了解更多关于为什么这不理想的评论,热切地倾听你的想法。同意这不理想,我将问题提交给业主。请随意标记您自己的答案为已接受,因为它包含相关信息。谢谢David,非常感谢。“排除应用程序数据”是我的问题。