2014-01-15 76 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環境:)