StackOverflow でこの件名へのすべての可能なリンクを試しました。すべての提案はここで提供され、Rick Anderson によるビデオを見ましたが、肯定的な結果はありませんでした。「複数のタイプが見つかりました....」という恐ろしいメッセージがまだ表示されます。そして、私のプロジェクトはエリア現象を試すためのセットアップにすぎません。Razor ビューアーで Area を使用することはまったく可能ですか? それともASPXのみ??
これは私が持っているものです: Global.asax:
routes.MapRoute( _
"Default", _
"{controller}/{action}/{id}", _
New With {.controller = "Home", .action = "Index", .id = UrlParameter.Optional}, New String() {"MyApplication.Controllers"})
3 つの個別の AreaRegistration ファイル:
Public Overrides Sub RegisterArea(ByVal context As System.Web.Mvc.AreaRegistrationContext)
context.MapRoute( _
"Shopping_default", _
"Shopping/{controller}/{action}/{id}", _
New With {.controller = "Home", .action = "Index", .id = UrlParameter.Optional})
End Sub
と:
Public Overrides Sub RegisterArea(ByVal context As System.Web.Mvc.AreaRegistrationContext)
context.MapRoute( _
"Blog_default", _
"Blog/{controller}/{action}/{id}", _
New With {.controller = "Home", .action = "Index", .id = UrlParameter.Optional})
End Sub
と:
Public Overrides Sub RegisterArea(ByVal context As System.Web.Mvc.AreaRegistrationContext)
context.MapRoute( _
"Admin_default", _
"Admin/{controller}/{action}/{id}", _
New With {.controller = "Home", .action = "Index", .id = UrlParameter.Optional})
End Sub
「.controller = "Home"」への追加の参照なしで3つのAreaRegistrationファイルがありましたが、すべて同じ結果が得られます。また、これら 3 つの宣言に名前空間の追加パラメーターを追加しようとしました。これを Global.asax に追加しようとしました:
ControllerBuilder.Current.DefaultNamespaces.Add("MyApplication.Admin.Controllers")
ControllerBuilder.Current.DefaultNamespaces.Add("MyApplication.Blog.Controllers")
ControllerBuilder.Current.DefaultNamespaces.Add("MyApplication.Shopping.Controllers")
ControllerBuilder.Current.DefaultNamespaces.Add("MyApplication.Controllers")
しかし、それも肯定的な結果はありません。AreaRegistration クラスでもアプリケーション名なしで試しました。他にどのようなアクションを試すことができますか (そして成功した結果が得られますか?) プロジェクトの構造は簡単です。空のプロジェクトから始めて、すぐに HomeControllers と Index ビューの 3 つの領域を追加しました。名前空間への変更はなく、すべて可能な限りデフォルトのままです。MVC 4 テンプレートが使用されました。誰でも提案はありますか?
ピーター