2014-01-15 35 views
1

我有一个VB.NET解决方案,它使用MVC 5和MEF给我一个可插入的Web项目。MEF与MVC 5,混合C#和VB.NET

它有一个“主机”项目,运行并加载所有动态DLL,使用MEF,然后加载控制器,一切都很好。我添加一个新项目,添加插件注册并使用MEF导出控制器。巴姆,项目独立,适合我的框架。

但是,我想现在添加一个C#项目。我已经将cshtml的东西添加到我的自定义ViewEngine中,并将视图/ dll复制到主机的插件目录,但是,在呈现视图时,出现此错误:

编译器错误消息:CS0234:命名空间名称CSharpTest'不存在命名空间“MVCMEFPluggable”(?是否缺少程序集引用)

上线28

和错误存在:使用MVCMEFPluggable.CSharpTest

;

这将转到在ASP.NET Temporary Files文件夹中创建的临时文件。在VB.NET和C#中,我可以记住关于名称空间差异的一些事情,但我无法弄清楚如何正确呈现视图。

任何见解?

+0

只需添加上成功运行,通过调试器,控制器被拾取并呈现得很好,它只是当它返回视图,当我得到该错误,所以我怀疑这是非常严重的东西:) – user3036342

+1

你能告诉我们一些代码?如果你想要一些:) –

+0

这是相当复杂的,所以发布代码将是疯了真的。最后,它在控制器的返回视图行上出现错误。正如我所提到的,所有东西都能正确拾取,只是渲染出现问题的视图。在临时文件中有一个“使用”行,如所描述的那样会导致错误。不知道为什么,我怀疑这是与名称空间有关,但我需要知道为什么我才能真正找出解决方案 – user3036342

回答

0

在装配“MVCMEFPluggable.CSharpTest”加入作为参考web.config文件,删除该行允许CSHTML编译和在vb.net环境:)