我正在使用Razor视图为ASP.NET MVC3设计一个插件框架,我遇到了使嵌入式视图正常工作的问题.
插件框架旨在具有以下功能:
现在一切正常,除非嵌入视图引用了插件dll中的类型.然后我得到臭名昭着的错误(名字遗漏):
The type or namespace name '[Plugins]' does not exist in the namespace '[MyPluginSolution]' (are you missing an assembly reference?)
原因是调用运行时来编译剃刀视图的csc编译器只从bin文件夹和GAC获取dll引用.
我也尝试使用这种技术预编译视图,但最后它给出了相同的结果,因为运行时坚持为预编译的剃刀视图编译包装器.
我当然可以将插件dll放在/ bin文件夹中,但我的问题是:
有没有办法在非bin(和非GAC)文件夹中注册dll,并将它们视为"一等公民",以便剃刀视图可以使用它们?
我在许多项目中使用了一组控制器和视图.我想知道我是否可以将其置于类库中并将其重用为普通的lib文件.我怎样才能做到这一点?