2012-11-18 70 views
0

我想問一直asked before的問題,但我想2010年以來還知道:ASP.NET MVC和組件架構

  1. 如果Service Pack或MVC4提高了故事(特別是視圖)?
  2. 有沒有一種方法可以讓「添加控制器」嚮導以「常規方式」從單獨的程序集中訪問?
  3. 有沒有一種方法可以讓「添加視圖」嚮導以「常規方式」從單獨程序集中的控制器操作訪問?

咆哮 這咆哮是不是我的問題的一部分,但我覺得它代表着房間裏的白象。

發現與上述問題關聯的一個響應,表明單獨的MVC程序集與MVC「關注點分離」無關。我覺得答案有點像說「未來的C#版本不支持程序集之間的交互,因爲這種交互與面向對象的問題分離無關。」

這兩個陳述可能在技術上都是真實的,但是兩個陳述都忽略了關注的分離適用於不斷增加的範圍水平。換句話說,它不僅適用於對象或MVC級別,也適用於組件架構級別。

換句話說,僅僅因爲ASP.NET MVC支持對象(或區域)級別的「關注點分離」,並不意味着故事已完成。我希望看到微軟通過添加「ASP.NET MVC組件」模板來簡化故事,這些模板允許控制器和視圖(都帶有工作嚮導)易於成爲單獨程序集的一部分。

也許有人已經做了這樣的事情?

回答

1

備註:任何包括咆哮在內的問題都會被拒絕投票,因爲它不是很客觀。對未來的友好建議:保持客觀的問題。

是的,確實有竅門可以使工具在其他裝配中工作。我這裏描述得很詳細:​​

基本上你需要做到以下幾點:

  1. 編輯類庫的.csproj文件,並添加以下內容:<ProjectTypeGuids>{E53F8FEA-EAE0-44A6-8774-FFD645390401};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}
  2. 創建VirtualPathProvider那可以從其他程序集讀取視圖
  3. 指示ASP.NET構建管理器在查找控制器時包含您的類庫。

..或者只是使用我的開源項目Griffin.MvcContrib。