相关疑难解决方法(0)

ASP.NET MVC 3 RC AreaRegistration.RegisterAllAreas()和动态加载的程序集

我目前正在尝试使用ASP.NET MVC 3 RC动态加载区域.我已经看到它写在许多地方,这不是那些区域的目的,并且(至少预MVC 2)不可能,例如在这里说.

但是还是!它应该可以让它工作,对吧?我创建了一个解决方案,添加了一个MVC 3项目,添加了一个区域和一些内容.一切都运作良好.现在我创建了一个新的类库项目(在同一个解决方案中),从MVC项目添加了对它的引用,并开始将与区域相关的部分移动到库中.将库项目的输出目录更改为MVC项目的area-folder,并确保将Views及其web.config复制到output-folder.

在阅读了很多关于你如何不能拥有外部区域之后,这有点令人惊讶.真的没问题!当我删除项目之间的引用,而不是在代码中加载库时,问题就开始了.(在打电话之前AreaRegistration.RegisterAllAreas().)现在它不起作用.完全没有.

我一直在寻找MVC 3的源代码,问题似乎BuildManager.GetReferencedAssemblies()是用于让程序集寻找实现AreaRegistration.

现在,我不是百分之百地确定这一点,但似乎这个方法只查看在编译时存在/引用的程序集,有人可以确认这是否实际上是这样的?

我通过这个调试了,而且方法调用确实没有找到我在调用它之前加载的程序集.这可能是因为我可能错过的其他东西......有什么想法吗?

asp.net-mvc asp.net-mvc-areas asp.net-mvc-3

13
推荐指数
2
解决办法
6487
查看次数

ASP.NET MVC - 分离大型应用程序

我一直对我认为矛盾的方面感到困惑:ASP.NET MVC声称要进一步支持"关注分离"的座右铭,我发现这是一个好主意.

但是,似乎没有办法将控制器,模型或视图分离到它们自己的组件中,或者将区域分成组件.

与固定Controller,ModelView夹在你的ASP.NET MVC,你实际上创建的事情了巨大的杂牌波奇.是关注的分离,真的吗?似乎与我完全相反.

所以我想知道:

  • 如何创建一个ASP.NET MVC解决方案,将控制器,模型和充满视图的文件夹分离到单独的程序集中?

  • 如何将ASP.NET MVC 2的区域放入单独的程序集中?

  • 或者你如何管理一个大的ASP.NET MVC应用程序 - 它有几十个甚至一百多个控制器,很多模型和视图模型类,以及几百个视图?

asp.net-mvc separation-of-concerns

11
推荐指数
3
解决办法
5110
查看次数