Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 如何通过Git将Azure WebJob与.NET核心Web应用程序一起部署?_Asp.net Mvc_Git_Azure_Azure Webjobs_Kudu - Fatal编程技术网

Asp.net mvc 如何通过Git将Azure WebJob与.NET核心Web应用程序一起部署?

Asp.net mvc 如何通过Git将Azure WebJob与.NET核心Web应用程序一起部署?,asp.net-mvc,git,azure,azure-webjobs,kudu,Asp.net Mvc,Git,Azure,Azure Webjobs,Kudu,我认为这将是一个非常简单的任务,有相当多的文档,但我对其中任何一个都没有运气,我假设它几乎都过时了 我已经开发了一段时间的.NET核心MVC6 Web应用程序,需要在Azure上为其设置WebJob。我想使用Azure提供的应用程序已在使用的连续部署系统将其与应用程序一起部署。根据Kudu文件,有可能: 其中指出: 这在直接从VisualStudio部署时都有效 (WebDeploy),或通过git 它引用了这个链接(),我一直试图遵循它,但没有成功 我有最新版本的Visual Studio

我认为这将是一个非常简单的任务,有相当多的文档,但我对其中任何一个都没有运气,我假设它几乎都过时了

我已经开发了一段时间的.NET核心MVC6 Web应用程序,需要在Azure上为其设置WebJob。我想使用Azure提供的应用程序已在使用的连续部署系统将其与应用程序一起部署。根据Kudu文件,有可能:

其中指出:

这在直接从VisualStudio部署时都有效 (WebDeploy),或通过git

它引用了这个链接(),我一直试图遵循它,但没有成功

我有最新版本的Visual Studio 2015、.NET Core 1.0.0和工具以及Azure SDK

第一件显而易见的事情是,我没有Azure文档屏幕截图中显示的脚手架选项,在找不到任何缺少的依赖项之后,我尝试按照所述手动设置它

即使将所需文件放置在指定位置(
webjobs list.json
webjob publish settings.json
)并为我的项目配置它们,并将
Microsoft.Web.webjobs.publish
添加到webjob项目中,Kudu也无法通过连续部署系统找到该webjob

根据我在那里找到的文档,我尝试了几种方法和变体,但我就是无法让它工作,所有其他问题都是一年前的问题


有人知道我做错了什么吗?对于最新版本的.NET Core MVC,这是否仍然可行?

WebJobs文件存储在“App\u Data/jobs/continuous”或“App\u Data/jobs/triggered”文件夹下,因此我可以使用一种方法来部署Web App和WebJob,即在构建期间手动将所有需要的WebJobs文件复制到这些文件夹中。我认为这将适合VS工具的更新

我的解决方案与您的略有不同,因为我使用Visual Studio Team Services构建并发布我的应用程序到Azure,但概念是相同的。可以使用Visual Studio中的生成后事件运行脚本,将这些文件复制到作业文件夹中

以下是我在VSTS生成定义中配置的步骤:

  • 命令行任务: 工具:dotnet 参数:还原

  • Visual Studio生成任务: 解决方案:**\MyApp.sln 平台:$(构建平台) 配置:$(构建配置) Visual Studio版本:Visual Studio 2015

  • 命令行任务: 工具:dotnet 参数:publish-c$(构建配置)

  • 命令行任务: 工具:dotnet 参数:publish-c$(BuildConfiguration)$(Build.SourcesDirectory)\src\MyApp.Jobs\project.json

  • 复制文件任务(这是诀窍): 源文件夹:src/MyApp.Jobs/bin/$(BuildConfiguration)/netcoreapp1.0/publish/ 内容:** 目标文件夹:src/MyApp.Web/bin/$(BuildConfiguration)/netcoreapp1.0/publish/App_Data/jobs/triggered/MyJobName/

  • 存档文件任务: 要存档的根文件夹(或文件):src/MyApp.Web/bin/$(BuildConfiguration)/netcoreapp1.0/publish/ 将根文件夹名称前缀为存档路径:未选中 存档类型:zip 要创建的存档文件:website.zip 替换现有存档:已选中

  • 复制文件任务: 源文件夹: 内容:***.zip 目标文件夹:$(Build.ArtifactStagingDirectory)

  • 发布生成工件任务: 发布路径:$(Build.ArtifactStagingDirectory) 工件名称:删除 工件类型:服务器


  • 我认为VS还不支持使用核心应用部署WebJobs。@Davidebo那么文档应该反映这一点,而不是贡献者只是触摸文档上的日期,使其看起来像是最新的和最新的。完全误导@Davidebo这方面有什么更新吗?目前,需要通过门户部署.Net Core控制台应用程序WebJobs,并且不能与Asp.Net Core项目一起部署,正如我从VS工具团队听到的,这项工作即将开始。很抱歉,我没有要共享的ETA。@MathiasR我现在有一个可靠的解决方案。目前正忙于工作,但我会看看下周是否能抽出时间发布答案(仍然需要推广解决方案,因为它针对我的项目)。太棒了!如果你没有看到库杜的网络工作,那么在几个小时的时间里,你帮我保存了我的项目。添加run.cmd并设置为始终复制:)