2014-10-02 47 views
5

我目前正在對內部網應用使用的ASP.net MVC項目作爲其他MVC「基地」工程項目

他們都是asp.net MVC應用程序,這將是「套裝」(部署爲獨立的程序

我目前正面臨着大量的重複各種原因) -

每個應用程序都具有基本相同的「外」 這個外殼不只是看法,它包含了認證邏輯等...

「內部」視圖是實際的應用程序。

所以,在一個理想的世界,我有這樣的:

MyCompany.Web
舉行的_layout,基本控制器,身份驗證等...

然後,其他MVC項目在我的解決方案,如:

  • MyCompany.Web.App1
    繼承MyCompany.Web

  • MyCompany.Web.App2
    繼承MyCompany.Web

等等

有什麼我可以做理智方便這個?

到目前爲止,我嘗試過的所有東西都涉及xcopying視圖等..到子項目的構建,感覺非常脆弱。

回答

1

爲要共享的所有基於程序集的代碼創建nuget包。

考慮nuget軟件包對任何視圖或佈局文件共享是否有意義。

考慮製作一個包含相關nuget軟件包的用法的項目模板。這將允許您遵循MVC本身所採用的相同模式,您可以根據需要創建新項目並更新nuget包。這消除了對模板本身進行頻繁更改的需求,除非nuget不容易分享更改。

+0

「考慮nuget包是否對任何視圖或佈局文件共享都有意義」 - 這基本上就是我想要做的 - 佈局將保持不變(頁眉,頁腳等),它只是在應用程序之間變化的中間 – Alex 2014-10-03 12:59:16

+0

@Alex請記住,您可以擁有佈局佈局。創建一個具有爲內層中心定義的部分的主佈局,使用nuget共享主佈局,以便可以輕鬆更新集體和項目模板以定義內部部分的空或基本骨架。 Nuget不能很好地處理對組件的修改,即使單個字符通常也會消除正確執行update-package的機會(希望這是他們未來可能採用3種方式合併的方式)。 – 2014-10-03 13:03:15

+0

給了這個去,但我得到以下問題:http://stackoverflow.com/questions/26218714/bindingredirect-not-working-with-project-created-from-nuget-package – Alex 2014-10-06 15:37:11