2016-09-23 17 views
0

私はAzure Web AppにVisual Studio 2015経由でプロジェクトを公開しようとしています。これはMVC 4ターゲットフレームワーク4.6.2です。公開されたサイトを表示するためにブラウザを起動すると、favicon.icoファイルに502エラー(悪いゲートウェイ/プロキシ)が表示され、VS2015の公開手続きは正常に終了しています。明らかに、それは実際に起こっていることではありません。Azure Web Appアセンブリ 'Entity Framework'を見つけることができません

Webアプリケーションからeventlog.xmlというファイルをダウンロードしましたが、エラーが報告されているので、アセンブリ 'EntityFramework、Version = 6.0.0.0 ...'が見つかりませんでした。しかし、プロジェクトbinにEntityFramework.dllが含まれています。しかし、違いがあるかどうかを確認するために、Kuduを使用してNuGetからEntityFrameworkをインストールし、packages.configファイルを使用してnugetリストアを行ってみましたが、正常にAzureにプッシュアップされました。私が必要としなかった場所にたくさんのファイルが復元され、同じエラーが残っていました。

他の人にこの問題を見て、それを解決するための推奨事項がありますか?何が起こっているのかをより明確にするために何を投稿することができるのか分かりません。コードやソースはありません。eventlog.xmlファイルには、欠落しているアセンブリのYSODエラーメッセージよりも少ししか表示されません。

ご協力いただければ幸いです。

+0

Webプロジェクトのpackages.configファイルに、Entity Frameworkパッケージへの参照が含まれていますか? Resharperやその他のツールを使用して参照を追加する場合は、ファイルパッケージを使用することがあります。configが更新されず、アプリケーションを配備すると、ナゲットはファイルを復元しません。 –

+0

@KarelTamayoはい、EntityFrameworkとEntityFramework.SqlServerの両方のパッケージ項目がpackages.configファイルに保持されており、ソリューションエクスプローラで参照を追加するのではなく、Package Managerコンソール経由でパッケージがプロジェクトに追加されました。 – rcastagna

答えて

0

私は過去にこれを持っていた - あなたは慎重に、エラーメッセージを読めば、それはそのアセンブリまたはその依存関係の一部をロードすることはできませんと言う - それはよくあなたのアプリケーションから欠落しています別のDLLかもしれません。

binフォルダーの内容とdev/test環境の内容を比較し、欠落しているものを表示するには、ポータルのコンソールブレード(または別のKuduサイトとコンソール)を使用します。あなたは間違ってはいけないはずですが、Webアプリケーションから直接EFライブラリを参照していないときにはまだEFで問題が残っていましたが、Webから参照されたリポジトリアセンブリアプリ。

Nugetを使用しておらず、依存関係を参照している場合は、VSの参照されたdllの「コピー出力」プロパティが正しく設定されていることを確認してください。これにより、DLLの最後がプロジェクトのbinフォルダにコピーされ、 Azureにデプロイされるパッケージ

+0

私はこれを見て、プロジェクトのbinフォルダの内容と公開されているものとを比較してみましょう。また、私はEFと別のリポジトリアセンブリで記述された問題を見てきました。実際、これは私たちがここにあるシナリオですが、EFがPackage Manager Consoleを介してリポジトリプロジェクトとWebアプリケーションプロジェクトの両方にインストールされていることはわかります。また、非NuGetであるすべてのアセンブリに、適切に出力を設定するためのコピーがあることを確認しました。 – rcastagna

0

これは「実際の問題ではない」というエラーメッセージの1つでした。 RussellとKarelに感謝します。あなたはいくつかのことを確認し、私がすべてのものが適切に参照されていることを確認するために私を導いた。

ここで私が知ったことは... DEV SQL VMは週末にリソースを節約するためにオフになっています(別名$$$)。私のローカルbinディレクトリからFTP経由ですべてのファイルを送信した後、私はサイトを閲覧して同じエラーを受け取りました。しかし、ログをダウンロードすると、Named Pipesを使用してdbサーバーにアクセスできなかったことがわかりました。 Whoops ...(リポジトリプロジェクト内の)接続文字列の1つがFQDNに設定されていないため、接続にTCP/IPを使用していませんでした。

私は、に設定して、サイトを公開していますが、今はサイトが期待どおりに動作しています。

ストーリーのモラルは、すべての接続文字列が正しく設定されていることを確認してください。

関連する問題