【发布时间】:2017-08-03 09:48:38
【问题描述】:
我正在开发一个动态加载 dll 的 MVC 项目。在这些 dll 中是其他 MVC 项目(我们称它们为模块)。我们这样做是为了支持模块的即插即用,在不发布整个项目的情况下更新它们。
我们有多个可以工作的简单模块,现在我正在开发一个新模块时遇到问题。
在模块的所有视图中,我们将模型定义为@model dynamic。但是因为我想使用@Html.TextBoxFor() 这是不允许的,否则会导致
表达式树可能不包含动态操作
所以我想,没问题我就改成@model ModuleNameSpace.ClassName 但是现在整个视图都不能再加载了……异常说:
未创建在“~/PATH_TO_VIEW_FILE”中找到的视图。
使用@model dynamic,视图正在工作,当我创建一个单独的项目时,它也在使用@model ModuleNameSpace.ClassName。所以这似乎是一个问题,因为我们添加了动态程序集?
模块是这样加载的:
System.Reflection.AssemblyName name = System.Reflection.AssemblyName.GetAssemblyName(module.FullName);
System.Reflection.Assembly assembly = System.Reflection.Assembly.Load(name);
【问题讨论】:
标签: c# asp.net-mvc razor .net-assembly