Web发布到azure连接字符串_databasepublish

时间:2014-06-20 16:19:58

标签: asp.net azure publish

将我的网站发布到azure时,会添加一个额外的连接字符串,其原始名称后附有_datapublish。

如何阻止这种情况发生?我很高兴使用web.config转换来管理我的连接字符串。

 <connectionStrings>
    <add name="MyAppContext" connectionString="Server=tcp:sdfdfsfsdf.database.windows.net,1433;Database=MyApp;User ID=xxxxxxx;Password=xxxxxxx;Trusted_Connection=False;Encrypt=True;Connection Timeout=30;" providerName="System.Data.SqlClient" />
    <add name="StorageConnectionString" connectionString="DefaultEndpointsProtocol=http;AccountName=MyApp;AccountKey=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" />
    <add name="MyAppContext_DatabasePublish" connectionString="MyAppContext_DatabasePublish.ConnetionString" providerName="System.Data.SqlClient" />
  </connectionStrings>

我现在在实际网站上收到以下错误:

  

初始化字符串的格式不符合从索引0开始的规范。

比较发布的文件时,我注意到这也是在entityFramework部分下添加的:

<contexts>
  <context type="MyApp.Data.MyAppContext, MyApp.Data">
    <databaseInitializer type="System.Data.Entity.MigrateDatabaseToLatestVersion`2[[MyApp.Data.MyAppContext, MyApp.Data], [MyApp.Data.Migrations.Configuration, MyApp.Data]], EntityFramework, PublicKeyToken=b77a5c561934e089">
      <parameters>
        <parameter value="MyAppContext_DatabasePublish" />
      </parameters>
    </databaseInitializer>
  </context>
</contexts>

2 个答案:

答案 0 :(得分:1)

在这里找到答案......

Publish ASP.NET MVC 5 website to Windows Azure

datapublish内容仍在web.config中,但是当我再次运行应用程序时,不会抛出任何异常。至少在部署之后不再需要每次编辑文件。

答案 1 :(得分:1)

如果&#34;应用代码优先迁移&#34;将自动注入第二个连接字符串。 (VS 2012)或&#34;执行代码优先迁移&#34;在部署向导中选中(VS 2013)复选框:

enter image description here

有关详细信息,请参阅this answer