2008-08-27 97 views

回答

2

保留源代碼管理中的主副本,並讓源代碼管理系統擔心它。

0

使用a symbolic link

符號鏈接是指向其他文件系統 對象的文件系統對象。被指向的對象稱爲目標。 符號鏈接對用戶是透明的;鏈接顯示爲正常的 文件或目錄,並且可以以完全相同的方式由用戶或應用程序 對其執行操作。

0

假設您可以爲所有項目(例如源代碼管理樹中的常見文件夾)創建公共存儲庫,則可以使用相對路徑將主頁添加爲鏈接。

但是,IIRC,Visual Studio使得從外部路徑添加文件的本地副本。您可能必須對解決方案/項目文件進行文本編輯才能添加鏈接的文件。

這當然假設您使用「Web應用程序」格式。較早的VS「網站」沒有項目文件,並依賴於站點文件夾中的所有文件。

0

AFAIK沒有優雅的方式做你正在尋找.. VS永遠結束了複製它是什麼。

我認爲說實話這可能不是一個好主意..顯然你想共享最低的通用代碼,但是整個MasterPage?..聽起來像你可能會遇到麻煩,因爲一個小的改變可能會有這樣的在一個或多個應用程序的影響..

我會建議,而不是從分隔條件的功能好位成組件/控制和部署它們。

4

從K.斯科特·艾倫的ASP.Net Master Pages: Tips, Tricks, and Traps文章,在「共享母版頁」:

的第一選擇是共享的母版頁文件複製到一個 單一位置的IIS Web服務器上。然後,每個應用程序可以創建一個虛擬目錄作爲子目錄,並將虛擬目錄 指向主頁面的實際目錄。然後應用程序可以將頁面的MasterPageFile屬性設置爲 目錄的名稱以及主頁面文件的名稱。當我們將 更新的主頁面文件放入實際目錄時,新主頁面 將立即顯示在所有應用程序中。

第二種方法是使用一個版本控制系統共用一套跨多個項目 母版頁的文件。大多數源代碼管理系統支持某種程度的「共享」功能,其中文件或文件夾可以出現在多個項目中。當 開發人員在檢查更新的主網頁文件,其他項目 會立即看到變化(雖然這種行爲通常是 配置)。在生產和測試中,每個應用程序需要重新部署 才能顯示更新母版頁。

最後,在的VirtualPathProvider ASP.NET 2.0有助於實現這一 不要在文件系統中的文件。隨着的VirtualPathProvider,母版頁的一組 可以住在所有的應用程序 使用的數據庫表。有關VirutalPathProvider的優秀文章,請參閱「Virtualizing Access to Content: Serving Your Web Site from a ZIP File」。

0

我不明白爲什麼你想要在不同的項目中有相同的標記,如果你這樣做,我不知道一個簡單的方法。

然而,隨着代碼,很明顯,你可以寫一個代碼文件從

System.Web.UI.MasterPage 

放在你想在那裏所有的母版頁的任何邏輯繼承。把它構建成你真棒的DLL然後把它包含在你的項目中。

相關問題