2012-07-12 45 views
0

通過ASP.NET和多個項目保持乾燥。通過ASP.NET和多個項目保持乾燥

在我公司對我們的工作是從傳統的ASP遷移到ASP.NET爲我們的大型Intranet網站的過程。

目前有兩個開發商在這個時候這個內部網站工作,我們目前不使用任何形式的,而不是每個哪些項目我們目前正在對其他通信的其他源代碼控制的。我不確定我們是否會批准使用Team Foundation Server或任何其他源代碼管理系統。

我們的網站目前由單個靜態內容和單個動態內容頁面組成。

此外,大約有50種不同的網絡應用程序,全部由公司各部門使用。這些都是複雜的,從單頁形式一直到具有各種級別報告生成功能的非常複雜的多頁面應用程序。

所有這些網頁共享一個共同的佈局,基本的JavaScript,CSS,頁眉,頁腳和側邊欄。我希望儘可能遵循DRY原則來幫助重新設計或更改共享頁眉,頁腳和側邊欄。

我的猜測是,我們最終將不得不HTML,傳統的ASP .NET WebForms和.NET MVC應用程序的混合所有安置一臺服務器上的同一域名下。

目標:

  1. 母版頁/ _Layout.cshtml -共享一個單一的主頁和各種web表單和/或MVC的應用程序之間的MVC佈局頁面。我不介意必須維護Webforms的一個主頁面和MVC的佈局頁面。
  2. 頁眉,頁腳,側邊欄 -如果我不能輕易共享主/ _layout頁。我希望至少分享所有各種頁面中的頁眉,頁腳和側邊欄,以便在整個網站更新。
  3. 爲單一應用程序發佈的更改 -我寧願沒有發佈整個網站和所有的各種應用的每一次我作出改變的一個應用程序的時間。有沒有辦法保留這個功能並仍然實現目標1和/或2?

如果您可以爲您的答案定製一個幾乎沒有使用ASP.NET Webforms,MVC和C#的經驗的人。我已經完成了幾個教程,但仍處於學習過程的開始階段。

感謝您的任何幫助,您可以提供它非常感謝。

+2

爲什麼你需要「批准」源代碼管理?有很多免費的源代碼管理工具可以使用。 Subversion,Git,Mercurial等。 – 2012-07-12 18:11:47

+0

我處於企業環境中,雖然我們已經擁有TFS許可證,但我們可能無法獲得分配的服務器空間來運行源代碼管理系統。我努力爭取源代碼管理,因爲我確實看到了好處,但它是我直接控制的幾層官僚作風。 – Chattah 2012-07-12 18:33:25

回答

1

要實現所有這三項要求,您必須將佈局放在單獨的項目中,這對於所有其他項目來說都是通用的。

看看這個article,這也解釋瞭如何編譯意見成DLL。 完成此操作後,您將可以在其他應用程序之間共享此dll文件,從而共享包含頁眉,頁腳和側邊欄的佈局頁面。

將所有其他MVC應用程序放入單獨的項目中(您仍然可以將它們全部保存在單個解決方案中),以便您可以單獨構建和部署它們。

+0

如果我把所有的項目都保存在一個單一的解決方案中,那麼我有可能仍然有多個開發人員在沒有源代碼控制的情況下在各個部分上工作,如果事實證明這不是一個選項?另外,如果我確實需要將它們拆分爲單獨的解決方案,我還可以共享編譯後的dll嗎? – Chattah 2012-07-12 17:44:36

+0

您的項目是否與我們的解決方案相同並不重要。只要您的開發人員在解決方案的不同部分(或同一項目的不同部分)上工作,就不會有任何重大問題。不過,我仍然建議使用某種源代碼管理(TFS),因爲它確實有助於在發生衝突時合併代碼。 如果你最終在單獨的解決方案中拆分項目,通用佈局的dll文件仍然可以被所有人引用。 – Dmitry 2012-07-12 17:50:25

+0

我在參考文章的第12步時遇到了一些問題。當我放入typeof(LogOnModel)時,出現構建錯誤,我似乎無法弄清楚我應該在那裏引用什麼。有什麼建議麼? – Chattah 2012-07-12 20:29:59