我有asp.net项目需要发布到Azure
这是我的webconfig文件
<?xml version="1.0"?>
<!-- For more information on using Web.config transformation visit https://go.microsoft.com/fwlink/?LinkId=301874 -->
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<connectionStrings>
<add name="MyDB"
connectionString="Server=tcp:vchasnotestserver.database.windows.net,1433;Initial Catalog=vchasnotestdb;Persist Security Info=False;User ID=***;Password=********;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"
xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
</connectionStrings>
<system.web>
<compilation xdt:Transform="RemoveAttributes(debug)" />
</system.web>
</configuration>
当我部署到azure时,我在输出
中收到此警告2&gt; C:\ Users \ nemes \ Source \ Repos \ vchasnocrm-new \ vchasnocrm \ Web.Release.config(7,8):警告:源文档中的任何元素都不匹配&#39; / configuration / connectionStrings /添加[@name =&#39; MYDB&#39;]&#39;
我如何解决这个问题?
答案 0 :(得分:1)
根据Web.Release.config
下的Web.config转换,转换代码有效。对于您提供的警告消息:
警告:源文档中的任何元素都不匹配&#39; / configuration / connectionStrings / add [@name =&#39; MyDB&#39;]&#39;
根据我的测试,这意味着connectionString
文件下不存在名为MyDB
的{{1}}。所以你可以忽略这个警告信息。要在部署到azure之前覆盖connectionString,您需要确保有一个名为Web.config
的connectionString,或者您需要调整MyDB
文件下的connectionString名称。
此外,如果您使用Azure Web Apps托管Web应用程序,则可以利用Azure App Service中的应用程序设置在运行时覆盖现有设置。根据您的要求,您可以登录Azure门户并选择您的Web应用程序,单击&#34;设置&gt;应用程序设置&#34;并添加您的连接字符串,其名称与Web.Release.config
文件中定义的名称相同。您可以关注的详细信息here。