是否可以在Azure上发布一次项目?

时间:2017-11-30 18:57:33

标签: c# asp.net azure asp.net-core-mvc

我正在使用Azure为我们提供的免费选项测试我刚刚发布的应用程序。

在这个过程中,我发现我需要对Controller(ASP.NET Core 2.0)进行更改,并且我一直在寻找这样做的选项。

我遇到过Azure应用服务编辑器,并且我正在阅读有关它的一些文档。但是,由于我无法通过此服务访问* .cs文件,因此似乎无法进行此类更改。这是显示的文件列表:

enter image description here

所以,我的问题是:

有没有办法使用Azure App Service Editor编辑这些文件(控制器,视图)? 如果不是,那么在我已发布的应用程序中反映这些更改的方法是什么?此外,如果答案是"重新发布项目",是否可以这样做而不改变在此测试过程中添加的数据库中包含的信息并仅更新修改后的文件?

如果这些问题非常基本但我刚刚开始了解Azure,我会尽力而为。提前谢谢。

我如何发布它:

为了发布这个项目,我使用了Visual Studio为我们提供的选项:

enter image description here

现在,如果我转到相同的选项,这个窗口会出现:

enter image description here

问题:如果我点击了“发布”字样。按钮我相信它会重新发布,整个项目,正确(包括数据库)?如果是这种情况,我相信数据库会有冲突,因为我已经发布了项目中的信息以及本地项目中的其他信息。是否有可能反映除数据库之外的所有内容的更新?

1 个答案:

答案 0 :(得分:1)

不,您无法更新那里的文件,因为这是一个已编译的网络应用程序,因此您必须发布更新。

我假设您正在使用EntityFramework,并且最初是通过网络发布发布数据库。

如果单击发布对话框中的“设置”,则在第二页(设置选项卡)上,您将看到用于发布数据库的选项。

在这里,您将看到在部署期间是否更新数据库的选项,我相信这是应用迁移。但是如果你取消选中它们就不应该更新你的数据库了。

您应该在保存发布后通过查看生成的发布配置文件来验证这一点(必须发布以查看此内容)

它将位于“YourApp \ Properties \ PublishProfiles”并且应该已添加到您的解决方案中,并将被称为“您的应用程序 - Web Deploy.pubxml”

在其中,您会看到<PublishDatabaseSettings>部分,其中Enabled属性应设置为False

但是,在发布任何更新之前,我会建议:

  • 测试部署到新服务器
  • 在部署和测试之前备份数据库,您可以从中进行恢复。