警告:源文档中的任何元素都不匹配' / configuration / connectionStrings / add [@name =' MyDB']'

时间:2018-06-16 12:07:32

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

我有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;

我如何解决这个问题?

1 个答案:

答案 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