Search code examples
msdeploywebdeployvisual-studio-2012one-click-web-publishing

One-click publish in vs 2012: how to remove _ConnectionStringsToInsert?


I usually put my connection string to a separate file, adding something like this in web.config:

<connectionStrings configSource="WebConnection.config" />

I've just installed VS 2012 and it automatically picked up my existing publish settings. However, when I do a webpublish it now adds two connections strings by itself, so my web.config on the deployment target now looks like that:

  <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>

certainly, that produces an error (node contents must be empty when using configSource). I noticed, that in newly generated .pubxml files (where publish settings are now stored) there are following lines:

  <ItemGroup>
    <_ConnectionStringsToInsert Include="EF.Model.DbContext" />
    <_ConnectionStringsToInsert Include="Migrations.Db.MigrationDb" />
  </ItemGroup>

How can I remove them? :) If I delete them from file, Web-publish dialog adds them anytime I edit the publish settings.


Solution

  • I suddenly resolved that by going to project properties, "Package/Publish Web" and checking the mark "Include all databases configured in P/P SQL tab" (and I don't have any DB configured there :)).

    After doing this and deleting the mentioned lines from .pubxml everything went fine.

    Seems like a hack, but it was a way to go for me :)

    @Sayed, thanks for confirming it's a bug, hope it'll be resolved!