私はちょうど/管理者コンパイラは2つのホームコントローラと競合しますが、異なるWebプロジェクトで競合していますか?
複数のタイプがいた次のエラーを与えているが
に行くことができるように顧客を必要とする管理サイトに自宅使用分でMVCプロジェクトに持っています'Home'という名前のコントローラーと一致するものが見つかりました。この は、この要求に対応するルート ( '{controller}/{action}/{id}')が要求に一致するコントローラの を検索するための名前空間を指定していない場合に発生します。この場合、 は 'namespaces'パラメータを取る 'MapRoute'メソッド のオーバーロードを呼び出してこのルートを登録します。
「ホーム」の要求は、次の一致するコントローラーを発見した: solitude.admin.Controllers.HomeController solitudeWebMvc.Controllers.HomeControllerは
だから私は、管理者の私RoutesConfig.csに次を試してみましたプロジェクト
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Admin_default",
"Admin/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional },
new[] { "AppName.Areas.Admin.Controllers" }
);
}
しかし、私はまだ誰もが任意のアイデアを持っている上記と同じエラーで表示されます。私はadminとフロントエンドのために1つの複数のMVC Webプロジェクトを使用しています。配備されると、これらは別々のポートに配置されます。あなたは素晴らしいことだ2つのプロジェクトのための構成、の両方を投稿することができれば
別々のアプリケーションとして配備された別々のプロジェクトには、この問題はないはずです。プロジェクトはどのような方法でも相互に参照していますか? (彼らはすべきではありませんが、クラスライブラリの共通コードを参照することができるはずです。) – David
こんにちは@David私は孤独への参照があります。孤独webmvcの管理者はそれが正しくありません。しかし、それは視覚スタジオでこの問題を抱えていますあなたはそれが違うポートでもこの問題を抱えていないと言っているのですか?私は自分自身と話していません。 – david
アプリケーションプロジェクトはお互いを参照してはいけません。共通のコードを共有する必要がある場合は、そのコードを2つのプロジェクトが参照する共通のクラスライブラリに移動する必要があります。いずれかのアプリケーションプロジェクトが他のアプリケーションプロジェクトを参照するとすぐに、*両方の*プロジェクトのコードをその1つのアプリケーションにロードしようとします。だから両方のコントローラを見つけて、それらを区別することができません。 – David