Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.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
切换一个Azure应用程序服务';.NET核心版本重写后不同版本的代码库_Azure_.net Core_Azure Web App Service - Fatal编程技术网

切换一个Azure应用程序服务';.NET核心版本重写后不同版本的代码库

切换一个Azure应用程序服务';.NET核心版本重写后不同版本的代码库,azure,.net-core,azure-web-app-service,Azure,.net Core,Azure Web App Service,我们在Azure上有一个.NET Core 2.1 Web应用程序作为应用程序服务。我们通过Visual Studio 2017的发布选项将其部署到Azure(尽管它也在Git回购中)。Azure提供了一系列自定义域和SSL 我们已经在.NET Core 3.1中编写了新版本的web应用程序,时间为2019年VS。相同的功能,但从头开始编写,而不是尝试升级现有的2.1版本 没有在线登台版本-相反,我们在本地机器上开发,然后只使用使用相同服务的在线测试域,但环境切换到使用dev DBs和bucke

我们在Azure上有一个.NET Core 2.1 Web应用程序作为应用程序服务。我们通过Visual Studio 2017的发布选项将其部署到Azure(尽管它也在Git回购中)。Azure提供了一系列自定义域和SSL

我们已经在.NET Core 3.1中编写了新版本的web应用程序,时间为2019年VS。相同的功能,但从头开始编写,而不是尝试升级现有的2.1版本

没有在线登台版本-相反,我们在本地机器上开发,然后只使用使用相同服务的在线测试域,但环境切换到使用dev DBs和bucket locations等,这也是编写新应用程序而不是升级它的原因之一,它看起来更干净,我看到人们在升级时遇到了一些问题

有没有一种简单的方法可以将新的web应用程序/代码切换/发布到当前的Azure应用程序服务中,以替换旧的应用程序/代码?或者我需要创建一个新的应用程序服务,然后从旧的应用程序服务中删除所有自定义域、SSL等,然后在那里创建它们吗


或者我可以切换到git部署,将整个新项目推到旧项目之上吗?这样做有效吗?还是只会造成某种灾难?

将新的应用程序版本推到应用程序服务时,通常没有问题,即使它使用的是新版本的.NET Core。 你必须考虑两件事:

  • Windows AppService计划:.NET Core 3.1运行时已在全球范围内推出,而SDK尚未推出。如有疑问,请使用自包含部署
  • Linux AppService计划:您需要在门户中选择所需的运行时版本。使用,例如,您可以在发布新版本的同时设置运行时版本。不确定VisualStudio如何处理此问题

作为一般建议,您应该遵循silents的建议,使用对客户的影响尽可能小。每个插槽可以有不同的.NET运行时版本,因此您可以在临时插槽上测试所有内容。

使用插槽如何?哦如果我通过新的git repo部署到该插槽,这看起来可能会起作用。。。我会查出来的,谢谢。根据应用程序的编写方式(例如,如果没有破坏性的数据库架构更改等),如果启动后出现问题,您可以使用另一个插槽交换回滚3.1应用程序。谢谢,我会调查一下插槽的想法,并在本周晚些时候回到这里,让你知道它是如何进行的,以及这是否可行。所以插槽似乎是可行的,我有两个代码库和不同版本的核心应用程序并排在一起,我可以很好地测试一个,而不必让它上线。唯一的问题是,由于DNS指向错误的CNAME,无法测试自定义域和ssl!