TeamCity テスト実行中の「Entity Framework Provider Not Found」のトラブルシューティング
ローカルにインストールされた TeamCity でテストを実行しようとすると、「エンティティ「フレームワーク プロバイダーが見つかりません」という例外が発生してイライラすることがあります。この例外は、実行中のアプリケーションで SQL Server の Entity Framework プロバイダーを見つけることができないことを示します。
この問題の解決には次の手順が役立ちます。
1. Entity Framework 参照の確認:
どのプロジェクトにも "System.Data.Entity" への参照が存在しないことを確認します。これは、EF6 にアップグレードする場合には推奨されません。
2. App.config を確認します:
app.config ファイルを確認して、「entityFramework」という名前のセクションがないことを確認します。このセクションは予期しない動作を引き起こす可能性があります。
3.欠落しているパッケージのインストール:
NuGet を通じて EF 6 をインストールした場合、特定の実行可能ファイルに "EntityFramework.SqlServer" パッケージが欠落している可能性があります。この NuGet パッケージを影響を受けるプロジェクトに追加するだけです。
4.ローカル コピーを有効にする (代わりに):
不足しているパッケージをインストールしても問題が解決しない場合は、"EntityFramework.SqlServer.dll" アセンブリの "Copy Local" プロパティを "true" に設定してみてください。影響を受けるプロジェクトのリファレンスに記載されています。これにより、アセンブリが出力ディレクトリに確実にコピーされます。
追加のコンテキスト:
報告されたエラー メッセージ:
The Entity Framework provider type 'System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' for the 'System.Data.SqlClient' ADO.NET provider could not be loaded.
は、特定のSQL Server プロバイダーのバージョンが見つかりません。上記のトラブルシューティング手順に従うことで、TeamCity テストの実行中に原因を特定し、この例外を解決できます。
以上がTeamCity のビルドが「Entity Framework Provider Not Found」エラーで失敗するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。