2010-02-12 74 views
2

我目前正在爲我們的團隊研究最佳開發和部署實踐。我們有一堆類似的代碼,我們將開始導入到共享程序集庫中,以供我們的套件(web & win)應用程序使用。我開始明確我認爲我們應該前進的方向。隨着煉油過程的進展,我毫無疑問會有更多的問題。在GAC之外引用程序集而不修復路徑

我很喜歡W Craig Trader's回答this question佈局結構的優雅。我們使用TFS而不是SVN,但這種方法也適用。使用這種方法,每個開發者將擁有一個本地工作空間,其中包含每個主要版本的最新共享程序集這些程序集中的每一個都將完全在目標主機的GAC中部署。

開發團隊的每個成員都可以自由地佈置他們的機器,因爲他們感覺最舒適,因此包含要在開發期間鏈接到的程序集的目錄可以很容易地從dev切換到dev。我們不想將組件存儲在開發者機器的GAC中。並且不希望每個開發者在每次檢查項目時都要更新參考文件。

所以我的問題是:有沒有一種方法來配置文件夾,使其像系統範圍的組裝商店la GAC?或者有沒有辦法配置VS2008在特定位置搜索程序集?

展望未來,我們將配置自動化構建/ CI,在這種情況下,我們可以解決這些問題,但在此期間,構建將發生在單個開發人員的機器上。但即使在基於服務器的構建中,每個開發人員都希望引用正確的智能感知和測試版本。

歡迎任何想法或建議。

感謝, 丹

經過一些內部討論似乎我們可能會定居在每個開發機器上的一個固定位置。這仍然不適合從個人工作空間p-o-v,但這是最安全的方法。

另一種方法是編寫一個客戶端TFS事件監聽器,它可以在簽出時增加項目文件並在登記時對其進行清理。但我不確定這將是多麼安全。

乾杯, 丹

回答

1

在我以前的工作都開發了R:它包含了所有的共享組件\驅動器。通過腳本,驅動器上的程序集可以通過從網絡共享複製它們來保持最新。

+0

謝謝你的迴應,Gerrie。我確實認爲共享驅動器是一種可能性。但我不是粉絲tbh。這是錯誤的東西,它需要更多的服務器資源。而關於/引用/鏈接/整個網絡綁定的東西並不好。 現在大多數人都是迷信而不是技術問題,但我寧願我們可以找到一個解決方案,讓每個開發人員在他們的筆記本電腦上斷開連接。 – 2010-02-12 10:26:53

+0

此R:\驅動器不是網絡驅動器,而是將共享程序集複製到的本地驅動器。這允許斷開開發。當時我並不是一個很大的粉絲,但它很有效。 – 2010-02-12 10:32:18

+0

嗯,好的。基本上我們會在後門執行開發人員機器上的佈局。我不認爲它會飛。謝謝你的想法。 – 2010-02-12 10:44:32

1

NuGet有助於解決此問題。將您的共享代碼構建爲nuget包,然後您可以使用存儲在網絡驅動器或共享服務器上的local feeds來託管您的nuget包。我剛剛看到Teamcity 7甚至現在支持託管nuget Feed。

這樣做的好處是,無需修復位置就可以輕鬆共享庫(例如,給定的開發人員或構建服務器如何組織他們的目錄並不重要),並且您可以依賴特定版本以及輕鬆停留在最新版本上。

Nuget軟件包除了提供簡單的DLL引用之外,還可以做其他事情:例如,可以分發JavaScript庫或圖像或任何其他內容。如果您構建了幾個共享相同常用設置(樣式,表單,登錄等)的Web應用程序,則可以將所需的文件/庫/等打包到nuget包中,然後將該引用添加到該包中。

+0

所以它基本上是C:驅動器與上述所有。 – realPro 2012-02-24 00:04:25

相關問題