我的mvc项目有以下布局:
但是,当我有这个DemoArea1Controller:
public class DemoArea1Controller : Controller
{
public ActionResult Index()
{
return View();
}
}
Run Code Online (Sandbox Code Playgroud)
我通过常用的搜索位置得到"视图'索引'或其主人找不到"错误.
如何在"Demo"视图子文件夹中指定"演示"命名空间中的控制器?
我有一个使用MEF的复合ASP .NET MVC 3 Razor应用程序.如果我要Views在应用程序的常规文件夹下部署插件作为DLL文件和视图(CSHTML),一切都会好起来的.但这不是很干净,如果我不将视图作为嵌入式资源放在DLL文件中(以及控制器和模型),它将不是真正的插件.
我跟着很多文章(其中大部分都已过时).事实上,Stack Overflow上有一个非常好的:类库中的控制器和视图
我还检查了文档VirtualPathProvider,我已经能够构建一个自定义文件,在程序集中找到该文件并完美加载它(或至少获取它的流).为此,我遵循了VirtualPathProvider MSDN上的文档.
VirtualFile还有一个实现,但VirtualDirectory尚未实现.
这是问题所在.我正在使用Razor的观点.我知道他们需要web.configRazor文件中的配置规范来构建它们.但是如果我将它们嵌入到DLL中,那么这个配置就会丢失.
我想知道这是不是我继续得到错误的原因:
'〜/ Plugins/CRM.Web.Views.CRM.Index.cshtml'中的视图必须从WebViewPage或WebViewPage派生.
也许我只需要添加一些代码来使它工作?有任何想法吗?
asp.net-mvc virtualpathprovider embedded-resource razor asp.net-mvc-3