Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.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
Umbraco部署到Azure_Azure_Azure Web App Service_Umbraco_Umbraco7 - Fatal编程技术网

Umbraco部署到Azure

Umbraco部署到Azure,azure,azure-web-app-service,umbraco,umbraco7,Azure,Azure Web App Service,Umbraco,Umbraco7,我刚刚在vstudio 2017中创建了一个网站,并添加了Umbracocms Nuget软件包。我还添加了uSync,进行了一些配置、设计等,然后将该站点发布到Azure。在发布之前,我修改了web.config以确保强制启动向导。因此,我可以配置我的SQLAzure数据库,现在这个网站就像一个魔咒 不,我在考虑将来的更新。。。为了能够在我的本地机器上继续开发该站点,我必须还原我的web.config以使用SDF文件,那么在Azure上的下一次部署会发生什么呢?我猜web.config文件将在

我刚刚在vstudio 2017中创建了一个网站,并添加了Umbracocms Nuget软件包。我还添加了uSync,进行了一些配置、设计等,然后将该站点发布到Azure。在发布之前,我修改了web.config以确保强制启动向导。因此,我可以配置我的SQLAzure数据库,现在这个网站就像一个魔咒

不,我在考虑将来的更新。。。为了能够在我的本地机器上继续开发该站点,我必须还原我的web.config以使用SDF文件,那么在Azure上的下一次部署会发生什么呢?我猜web.config文件将在包中,因此它将替换Azure上的文件

因此,或者,我总是清除键以强制向导运行,或者我不清除,然后我猜我的站点将关闭,因为它将不再使用SQLAzure数据库


解决这个问题的办法是什么?如何在Azure上无缝更新我的网站?在我看来,我只需点击“发布”,然后网站就会上传到Azure上,uSync确保我所做的更改是同步的,就这样。

根据您部署网站的方式,您可能需要使用Web.Config转换和配置Visual Studio的发布设置

您应该已经有一个Web.Config和一个Web.Release.Config

在Web.Config中,您将拥有:

<connectionStrings>
    <remove name="umbracoDbDSN" />
    <add name="umbracoDbDSN" connectionString="your local connection string" providerName="System.Data.SqlClient" />
</connectionStrings>

然后在Web.Release.Config中,您将需要:

<connectionStrings>
    <add name="umbracoDbDSN"
         connectionString="your production connection string" 
         providerName="System.Data.SqlClient"
         xdt:Transform="SetAttributes"
         xdt:Locator="Match(name)" />
</connectionStrings>

在发布配置文件中,您可以将配置设置为release。执行此操作时,您还会注意到umbracodsn显示一个空文本框。根据我的经验,最好将Web.Release.Config中的连接字符串放在其中,并选中“在运行时使用此连接字符串”


这个额外的转换在Web.Release.config中的转换之后应用,并将覆盖它们。从历史上看,这个接口有点问题,如果没有明确设置,就会清除连接字符串。

您可以使用云web配置和本地web配置。如果您总是连接到SQLAzure,即使在开发期间,您也不必为db做任何事情。如果没有,您可以拥有一个SQL DB项目来维护您在开发过程中对DB所做的更改。好吧,我想在开发中使用sdf文件,在生产中使用SQL Azure DB(我不想在开发中更改实时数据),但假设我在我的项目中修改了很多文件。为了确保我不会忘记任何内容,我会发布项目,这样web.config就会被覆盖。每次都可以重新发布数据库。这不应该是一个问题。就web配置而言,除了db连接字符串之外,您是否有太多的变量?在这种情况下,您可以使用xslt使用web配置转换。我不明白。这并不是说变量太多,只是因为我想在本地使用sdf文件,所以当我在项目级别发布时,web.config总是会被覆盖。而且我不希望每次执行这样的部署时都必须运行向导。从SQL management studio中分别发布db和从visual studio中分别发布站点。或者,如果您还没有使用UaaS-umbraco云服务,也可以使用该服务。