我有一个测试解决方案,只有一个区域叫做Admin。
我想在许多其他Web应用程序中重用Admin。
我在IIS中设置了一个Web应用程序,然后我添加了一个来自/Admin
的虚拟应用程序Areas\Admin
。
当我导航到/ Admin时,我看到一个目录列表。当我尝试击中控制器时,/ Admin / News。我收到404错误。可能是这些区域没有注册,即使代码存在于global.asax中。但是,我确信我错了。
请建议更改此情况。
答案 0 :(得分:6)
区域不能以您的思维方式重复使用(使用虚拟目录)。它们只是根Web应用程序不可分割的一部分。它们只是嵌入到根应用程序路由中,没有它就无法运行。通过将虚拟目录指向您的Areas
文件夹,您表明这是一个单独的ASP.NET应用程序,但情况远非如此。
像MvcContrib Portable Areas这样的项目旨在解决这些问题。值得一看。此外,如果您想将一些Razor视图嵌入到可以在不同的ASP.NET MVC 3应用程序中重用的程序集中,您可以查看following blog post。