0

AzureWebサイトとして展開しようとしているASP.NETMVC4アプリがあります。私のアプリは私のローカル環境で正常に動作します。ただし、Azureにサイトを公開すると、次のエラーが発生します。

Multiple types were found that match the controller named 'Root'. This can happen if the route that services this request ('') does not specify namespaces to search for a controller that matches the request. If this is the case, register this route by calling an overload of the 'MapRoute' method that takes a 'namespaces' parameter.

The request for 'Views' has found the following matching controllers:
MyApp.HD.Web.Controllers.RootController
MyApp.Web.Controllers.RootController

Azureでこのエラーが発生するのに、ローカルでは発生しないのはなぜですか?それを回避する方法がわかりません。

ありがとうございました

4

1 に答える 1

1

私は以前にこの問題を抱えていました。なぜそれが起こったのか説明させてください。

ソリューションに新しいプロジェクトを追加しました。これを呼びましょうNewProject。このプロジェクトは正しく設定されていなかったため、として再作成しましたNewProject2。プロジェクトがセットアップされて機能するようになったら、名前をに変更しましたNewProject。これが問題の始まりです。特定のビルド構成では、同じエラーが発生していました。NewProject名前空間と。を持つあいまいなコントローラーについて不平を言っていましたNewProject2。ファイル内検索を実行すると、に一致するものは返されませんでしたNewProject2。徹底的にイライラしました。これが特定のビルド構成でのみ発生していたことを考えると、問題が残りにあることの大きな兆候でしbinフォルダー内の参照。クリーンアップを行っても問題は解決しなかったようです。最終的な修正は、完全なコードパージを実行することでした。DLLは通常、ソース管理にコミットされません。すべてのコードをバックアップして削除し、ソース管理から戻しました。問題は発生しなくなりました。

この問題はグローバルではなかったことは言及する価値があります。特定の開発者のマシンでのみ発生しました。影響を受けたのは、create1 / create2 / rename2/delete1のプロセス中にソース管理から最新のものを取得したものだと思います。

  1. 影響を受けるビルド構成でクリーンアップと再構築を実行してみてください。
  2. binフォルダーとobjフォルダーを手動で削除してみてください。
  3. 完全なコードパージを試してください
于 2013-01-06T12:29:08.480 に答える