我通常将连接字符串放在单独的文件中,在web.config文件中添加如下内容:
<connectionStrings configSource="WebConnection.config" />
我刚刚安装了VS 2012,它自动获取了我的现有发布设置。 然而,当我进行Web发布时,它现在会自动添加两个连接字符串,因此我的部署目标上的web.config文件看起来像这样:
<connectionStrings configSource="WebConnection.config">
<add name="EF.Model.DbContext" connectionString="EF.Model.DbContext_ConnectionString" providerName="System.Data.SqlClient" />
<add name="Migrations.Db.MigrationDb" connectionString="Migrations.Db.MigrationDb_ConnectionString" providerName="System.Data.SqlClient" />
</connectionStrings>
当使用configSource
时,节点内容必须为空,否则会产生错误。
我注意到在新生成的.pubxml文件中(其中存储发布设置),有以下几行:
<ItemGroup>
<_ConnectionStringsToInsert Include="EF.Model.DbContext" />
<_ConnectionStringsToInsert Include="Migrations.Db.MigrationDb" />
</ItemGroup>
我该如何删除它们? :) 如果我从文件中删除它们,那么每次编辑发布设置时,Web发布对话框都会再次添加它们。