我正在尝试使用少量控制器创建一个.Net库,我想在多个Web项目中重用它们.
我已经走了一半,但我得到的问题是,每当我将库添加到新的Web项目时,我需要将所有相应的视图文件分别复制到新项目中.每当我更新库时,我都需要重复这些步骤.
有什么办法,我可以将dll中的View文件作为资源嵌入,并将其作为嵌入式资源传递给"View()"函数.
我想要实现的是,我想将控制器和相应的视图放在单个dll文件中,这样我就可以轻松地将库作为单个dll文件分发/管理
(我已经发现,正在使用IView接口创建自定义视图类并通过写入HTML输出编写器直接渲染输出,但我更喜欢使用View文件.)
Phil Haack 几天前刚发布了一篇博文,可能对你有所帮助; 他正在使用数据库存储视图和ruby来处理它们,但我认为你可以使用他的原型并使其适用于存储在单独程序集中的视图相当容易.
只需快速浏览代码,我认为魔术酱将实现VirtualPathProviderViewEngine(例如,参见"RubyViewEngine"类)并将ViewEngine插入ViewEngines.Engines Collection(请参阅Global.asax.cs).