我一直在搜索互联网并学习如何启用ASP.Net MVC 3站点来使用MEF。我们的想法是构建模块化站点,因此我们可以根据需要扩展功能。我几乎每一段代码都工作,但出于某种原因,当我试图从加载项加载我的索引视图时,它试图从加载项加载_ViewStart.cshtml文件,而不是主加载MVC网站。
有没有人碰到这个,如果有的话,那是什么工作?
答案 0 :(得分:0)
您确实意识到_ViewStart层次结构是如何解决的?不是吗?基本上,与视图最接近的ViewStart优先显示。在您的情况下,您的插件中的viewstart最有可能显示。
如果您不想显示,删除或删除它,层次结构中的下一个ViewStart将被赋予显示优先级,它将显示,使用,就像您想要的那样。
让我知道这是否对你有用,因为你描述它的方式,它正在按照我的理解进行/工作。
答案 1 :(得分:0)
如果您使用此方法: http://www.chrisvandesteeg.nl/2010/11/22/embedding-pre-compiled-razor-views-in-your-dll/ 为了“嵌入”您的视图(它们实际上是已编译的),_viewstart将首先在您的物理路径中查找(因此您的主要mvc站点),如果在那里找不到它,它将查找该文件作为编译资源在dll中