0

VS2012で最初にEF5コードを使用するMVC4アプリケーションがあります。このアプリケーションを別のラップトップで作成しました。ここでも移行をアクティブにしましたが、再度無効にしました(移行フォルダーを削除し、de DBのテーブルを削除しました)。これで、ソリューション全体を2番目のラップトップにコピーしましたが、アプリケーションを実行できなくなりました。

dbにアクセスしようとすると、常に例外が発生します。

プロバイダーがprovidermanifesttoken文字列を返しませんでした

内部例外を除いて

{「SQLServerへの接続の確立中にネットワーク関連またはインスタンス固有のエラーが発生しました。サーバーが見つからないか、アクセスできませんでした。インスタンス名が正しいこと、およびSQL Serverがリモート接続を許可するように構成されていることを確認してください。(プロバイダー:SQLネットワークインターフェイス、エラー:26-指定されたサーバー/インスタンスの検索エラー) "}

次の接続文字列を使用します

<connectionStrings>
    <add name="DefaultConnection" providerName="System.Data.SqlClient" connectionString="Data Source=(localdb)\v11.0; Integrated Security=True; MultipleActiveResultSets=True" />
  </connectionStrings>

それをglobal.asaxに入れると、機能します。

Database.DefaultConnectionFactory = new SqlConnectionFactory(@"Data Source=(localdb)\v11.0; Integrated Security=True; MultipleActiveResultSets=True");

つまり、プロジェクトを作成したラップトップでは、すべてがweb.configの接続文字列で機能しますが、他のPCではdeglobal.asaxでのみ機能します。

誰かがこの厄介な問題の解決策を持っていますか?

4

1 に答える 1

0

私は最終的に問題の解決策を見つけました。私の設定で何かを見逃したようです。他のマシンでなぜ機能するのかはまだわかりませんが、同じ問題を抱えている人は次のことを試してください。

私の設定には次のものがありました。

  <entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />

スタックオーバーフローでこの投稿を見つけた後、このスニペットに置き換えました

<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework">
  <parameters>
    <parameter value="Data Source=(localdb)\v11.0; Integrated Security=True; MultipleActiveResultSets=True" />
  </parameters>
</defaultConnectionFactory>

于 2013-02-06T19:21:02.473 に答える