web-dev-qa-db-ja.com

エントリはすでに追加されています

すべてのRazorsビューにこのエラーがあります:

アプリケーション前の開始初期化メソッドStartでWebMatrix.WebData.PreApplicationStartCode型が例外をスローし、次のエラーメッセージが表示されました。

エントリ「DefaultConnection」はすでに追加されています。

ここで、接続文字列の構成を見るとわかるように、接続文字列の名前は繰り返されていません。

<connectionStrings>
    <add name="DefaultConnection" connectionString="Data Source=.\foo;Initial Catalog=aspnet-foo-20130212133051;MultipleActiveResultSets=true;Integrated Security=SSPI" providerName="System.Data.SqlClient" />
    <add name="ServiDeskConnection" connectionString="Data Source=fooo;Initial Catalog=mdb;User Id=foo;Password=fooo;MultipleActiveResultSets=true" providerName="System.Data.SqlClient" />
    <add name="mdbEntities" connectionString="metadata=res://*/Models.ExternalData.ExternalContext.csdl|res://*/Models.ExternalData.ExternalContext.ssdl|res://*/Models.ExternalData.ExternalContext.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=foo;initial catalog=mdb;user id=foo;password=foo_prod01;multipleactiveresultsets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
    <add name="SisInfoInventoryEntities" connectionString="metadata=res://*/Models.ExternalData.Inventory.csdl|res://*/Models.ExternalData.Inventory.ssdl|res://*/Models.ExternalData.Inventory.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=.\foo;initial catalog=foo;integrated security=True;multipleactiveresultsets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
</connectionStrings>

私はすでに<Clear/>を使用しようとしましたが、接続がないと言ったので、それはさらに悪いことです。

同じソリューションのプロジェクトをアンロードしようとしましたが、それでも機能しませんでした。

プロジェクトをビルドすると、うまく機能することに注意してください。

(これは何度か回答されていますが、解決策はどれも私にとってうまくいきませんでした。)

19
Jorge

<providers>の後、最初の<add....>ノードの前に、<clear />ノードを追加します。それで直ります!!

または、これの親であるweb.configに含めることもできます。もう一度追加する前に、以下のコードを追加してください。

<remove name="DefaultConnection" />

または、次を使用してすべての接続文字列をクリアします

<clear />

DefaultConnectionの名前をMyAppServicesなどに変更することをお勧めします。

48
Neel