【发布时间】:2014-02-04 01:36:46
【问题描述】:
我有一个 VB.NET 解决方案,它使用 MVC 5 和 MEF 为我提供了一个可插入的 Web 项目。
它有一个“主机”项目,使用 MEF 动态运行和加载所有 DLL,然后我加载控制器,一切正常。我添加一个新项目,添加插件注册并使用 MEF 导出控制器。 Bam,适合我的框架的独立项目。
但是,我现在想添加一个 C# 项目。我已将 cshtml 内容添加到自定义 ViewEngine 中,并将视图/dll 复制到主机的插件目录,但是,在渲染视图时,出现此错误:
编译器错误消息:CS0234:命名空间“MVCMEFPluggable”中不存在类型或命名空间名称“CSharpTest”(您是否缺少程序集引用?)
以及第 28 行的错误:
使用 MVCMEFPluggable.CSharpTest;
这将转到在 ASP.NET 临时文件文件夹中创建的临时文件。当涉及到 VB.NET 和 C# 时,我记得一些关于命名空间的差异,但我不知道如何才能使视图正确呈现。
有什么见解吗?
【问题讨论】:
-
只是补充一点,通过调试器运行,控制器被拾取并很好地呈现,只是当我收到错误时它返回视图,所以我怀疑这是非常严重的事情:)
-
你能给我们看一些代码吗?如果你想要一些:)
-
它非常复杂,所以发布代码真的很疯狂。最后,它在控制器的返回视图行上出错。正如我所提到的,一切都得到了正确的处理,它只是渲染了造成问题的视图。在临时文件中有一个“使用”行,如所述,它导致了错误。不知道为什么,我怀疑这与命名空间有关,但我需要知道为什么,这样我才能真正找到解决方案
标签: c# vb.net mef asp.net-mvc-5