我通常将我的连接字符串放到一个单独的文件中,在 web.config 中添加类似这样的内容:
<connectionStrings configSource="WebConnection.config" />
我刚刚安装了 VS 2012,它会自动获取我现有的发布设置。但是,当我进行 webpublish 时,它现在自己添加了两个连接字符串,所以我在部署目标上的 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>
我怎样才能删除它们?:) 如果我从文件中删除它们,网络发布对话框会在我编辑发布设置时添加它们。