我有这些文件:
的Web.config
<connectionStrings>
</connectionStrings>
Web.Debug.config
<connectionStrings>
<add name="Elite.DAL.MainContext"
connectionString="Data Source=FISH\SQLEXPRESS;Initial Catalog=Elite;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
Web.Releas.config
<connectionStrings>
<add name="Elite.DAL.MainContext"
connectionString="Data Source=1LEINTRA\SFSQL;Initial Catalog=Elite;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
我做错了吗?
当我使用Web-Deploy发布时,我得到了这个:
<connectionStrings>
<add name="Elite.DAL.MainContext" connectionString="Elite.DAL.MainContext_ConnectionString" providerName="System.Data.SqlClient" />
<add name="Elite.DAL.MainContext_DatabasePublish" connectionString="Elite.DAL.MainContext_DatabasePublish.ConnetionString" providerName="System.Data.SqlClient" />
</connectionStrings>
Format of the initialization string does not conform to specification starting at index 0.
此外,当我发布时,我选择运行第一次代码迁移,但不创建表,这是初始迁移的一部分。
<contexts>
<context type="Elite.DAL.MainContext, Elite">
<databaseInitializer type="System.Data.Entity.MigrateDatabaseToLatestVersion`2[[Elite.DAL.MainContext, Elite], [Elite.Migrations.Configuration, Elite]], EntityFramework, PublicKeyToken=b77a5c561934e089">
<parameters>
<parameter value="Elite.DAL.MainContext_DatabasePublish" />
</parameters>
</databaseInitializer>
</context>
</contexts>
答案 0 :(得分:0)
您应该将Debug连接字符串放在常规web.config中。然后,您可以使用XML-Document-Transform选项来配置发布版本。
然后,您可以告诉转换过程您要更改常规web.config中的连接字符串,如下所示:
<add name="lite.DAL.MainContext"
connectionString="Data Source=1LEINTRA\SFSQL;Initial Catalog=Elite;Integrated Security=True"
xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
您可以找到Web.config转换语法here的文档。
如果您确实要保留空的web.config,可以使用以下语法:
<connectionStrings xdt:Transform="Replace" >
<add name="Elite.DAL.MainContext"
connectionString="Data Source=FISH\SQLEXPRESS;Initial Catalog=Elite;Integrated Security=True"
providerName="System.Data.SqlClient"/>
</connectionStrings>
通过将它放在web.debug.config和web.release.config中,可以配置应替换web.config中的整个(空)connectionStrings
元素。