セキュリティのために SQLSERVER 2012 Expresss を使用している ASP.NET MVC アプリに問題があり、この場合は使用されていない Firebird インストールと競合しています。次のような例外を取得します。
system.data の構成セクション ハンドラーの作成中にエラーが発生しました: 列 'InvariantName' は一意に制限されています。値 'FirebirdSql.Data.FirebirdClient' は既に存在します。
これをweb.configに入力しようとしました:
<remove invariant="FirebirdSql.Data.FirebirdClient"/>
しかし、それは機能しませんでした。私が最終的に行ったことは、このfirebirdエントリをmachine.configから削除しました:
<system.data>
<DbProviderFactories>
<add name="FirebirdClient Data Provider" invariant="FirebirdSql.Data.FirebirdClient" description=".NET Framework Data Provider for Firebird" type="FirebirdSql.Data.FirebirdClient.FirebirdClientFactory, FirebirdSql.Data.FirebirdClient, Version=3.0.2.0, Culture=neutral, PublicKeyToken=3750abcc3150b00c"/><add name="FirebirdClient Data Provider" invariant="FirebirdSql.Data.FirebirdClient" description=".NET Framework Data Provider for Firebird" type="FirebirdSql.Data.FirebirdClient.FirebirdClientFactory, FirebirdSql.Data.FirebirdClient, Version=3.0.2.0, Culture=neutral, PublicKeyToken=3750abcc3150b00c"/></DbProviderFactories>
それはうまくいきましたが、時々使用するfirebirdが必要なため、これは理想的なソリューションではありません。とにかく、アプリの web,config でこのエントリを一時的に無効にするには? また、そもそもなぜこのような競合が発生するのですか? ありがとう