Visual Studio Team Services - Build&释放
在发布定义中,在File Transforms&变量替换选项,有XML转换和XML变量替换。
我检查了两个复选框,但在部署之后,我的Web.Dev.config中没有任何内容替换web.config。转变根本不会发生。
有什么问题?
--------编辑:详细---------
构建
此处的所有设置均为默认值。
释放
web.dev.config
如果我从visual studio 2015部署,这种转换可以正常工作。
<?xml version="1.0" encoding="utf-8"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<connectionStrings>
<add name="DefaultConnection" connectionString="Server=tcp:xxxx.database.windows.net,1433;Database=xxxx;User ID=xxx@xxx;Password=xxxx;Trusted_Connection=False;Encrypt=True;Connection Timeout=30;" providerName="System.Data.SqlClient" xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
<add name="NicoContext" connectionString="metadata=res://*/Nico.csdl|res://*/Nico.ssdl|res://*/Nico.msl;provider=System.Data.SqlClient;provider connection string="data source=tcp:xxxx.database.windows.net,1433;initial catalog=xxxx;User Id=xxxx@xxxx;Password=xxxx;App=EntityFramework"" providerName="System.Data.EntityClient" xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
</connectionStrings>
<system.web>
<compilation xdt:Transform="RemoveAttributes(debug)" />
</system.web>
<appSettings>
<add key="Environment" value="Dev" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
<add key="AzureStorageContainerName" value="xxx" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<add key="StorageConnectionString" value="DefaultEndpointsProtocol=https;AccountName=xxx;AccountKey=xxx;EndpointSuffix=core.windows.net" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<add key="FacebookLoginAppId" value="xxx" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
<add key="FacebookLoginAppSecret" value="xxx" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
</appSettings>
</configuration>
--------编辑2:不再工作---------
我在另一个Azure帐户中的新项目上建议的解决方案,但这次它不起作用。对于构建,我选择模板“Asp.net(预览)”,对于发布,我选择模板“Azure App Service Deployment”。
--------编辑3:发布 - 包或文件夹---------
答案 0 :(得分:3)
您已经部署/发布了Web应用程序,因此web.config已经转换(对于Web包部署,web.config中的相关值将在Web部署期间更新,值在参数中.XML 强>)。
因此,在已发布的文件夹中没有其他配置文件(例如,web.dev.config,web.release.config),并检查 XML转换和 XML变量替换没用。
根据构建日志,使用发布配置构建Web应用程序,但没有 web.release.config ,因此没有针对Web的更新的.config。
您可以参考以下步骤来达到您的要求: