在vs 2012中一键发布:如何删除_ConnectionStringsToInsert?

Sha*_*dix 12 msdeploy one-click-web-publishing webdeploy visual-studio-2012

我通常把我的连接字符串放到一个单独的文件中,在web.config中添加这样的东西:

<connectionStrings configSource="WebConnection.config" />
Run Code Online (Sandbox Code Playgroud)

我刚刚安装了VS 2012,它会自动获取我现有的发布设置.但是,当我进行网络发布时,它现在自己添加了两个连接字符串,因此部署目标上的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>
Run Code Online (Sandbox Code Playgroud)

当然,这会产生错误(使用时节点内容必须为空configSource).我注意到,在新生成的.pubxml文件(现在存储发布设置)中有以下几行:

  <ItemGroup>
    <_ConnectionStringsToInsert Include="EF.Model.DbContext" />
    <_ConnectionStringsToInsert Include="Migrations.Db.MigrationDb" />
  </ItemGroup>
Run Code Online (Sandbox Code Playgroud)

我该如何删除它们?:)如果我从文件中删除它们,Web-publish对话框会在我编辑发布设置时随时添加它们.

Sha*_*dix 6

我突然解决了,通过转到项目属性,"打包/发布Web"并检查标记"包含在P/P SQL选项卡中配置的所有数据库"(并且我没有配置任何数据库:)).

执行此操作并从.pubxml中删除提到的行后,一切都很顺利.

看起来像一个黑客,但它是一种方式去找我:)

@Sayed,谢谢确认这是一个错误,希望它能够得到解决!

  • 这个修复似乎并没有使这些线条远离.每当您转到"发布"对话框中的连接字符串配置页面时,它们仍会返回. (4认同)