2010-04-19 147 views
28

我已經寫了一個類來處理我的應用程序中的內部日誌記錄。 現在我想在另一個新的完全獨立的項目中使用這個類。在幾個項目之間共享c#類源代碼

我可以簡單地將文件複製到新的項目文件夾,但我想只有它的一個副本來維護,以便它的所有更改將適用於這兩個項目隨着時間的推移。

我可以使用「添加現有文件」,但我在哪裏放置文件,以便下一個開發人員知道它是必需的。我曾經有一個「共享」文件夾,但有一次該文件夾沒有帶入下一個開發計算機。

什麼是組織這種方式的最佳方式,以便它對新維護者最有意義,並最大限度地降低項目中斷開鏈接的風險。

+1

你們真的想告訴我,源代碼級共享在C#中是不可能的嗎? – 2010-04-26 21:03:47

+0

@Pavel:這個問題並不是真正的C#特定,雖然我在這裏尋找一個特定於C#的解決方案。 我已經遇到過項目中的單個文件丟失的情況,因爲它們位於另一個文件夾中,而未與其餘文件一起發送。 – hultqvist 2010-04-27 07:02:12

+0

您可以在下面的jorgen的帖子中看到準確的答案。 – user912447 2013-04-12 17:08:14

回答

25

您可以創建一個具有此類的庫項目,您只需添加對該項目的引用即可。

如果這是無法選擇,您可以使用「右鍵單擊 - >添加現有項目 - >添加爲鏈接」這種方式,你只有一個代碼副本,但它可以存在於多個項目中。

+0

可以請你看看它在這裏http://stackoverflow.com/questions/21301360/share-properties-from-child-app-to-base-project – Goofy 2014-01-23 07:05:16

5

將您的日誌代碼分解爲單獨的程序集。

然後,您可以將該程序集包含在應該使用該記錄器的項目中。

它保持一切都很乾淨,你只需要維護一套代碼,而不必擔心每個副本。

1

創建一個包含此類的新程序集。

然後你所有的其他項目都可以引用這個程序集並使用其中的類。

10

要分享的類庫是最佳解決方案。

但是你可以添加一個文件到VS項目作爲鏈接而不是複製。爲此,請使用添加現有項目對話框的添加按鈕上的下拉菜單。

1

把類中唯一的命名空間,然後添加文件爲紐帶,以所有您需要使用它的項目。確保你爲該類使用的唯一名稱空間放置使用語句,否則你將不得不完全限定它的每一次使用。 對於這樣的情況,我認爲這比assemply更可取,因爲它不會產生不必要的交叉引用,因爲它只是您自己的代碼的一部分,您只希望在您的項目之間共享。

0

您還可以使用您的版本控制系統來執行此操作。

我們通常使用Solution和Main Project創建Directory,然後將這個目錄提交到SVN。然後,所有共享庫都使用svn:external鏈接 - 因此所有的Projects都存在於同一個解決方案目錄中。

提交後,任何人都可以簽出工作解決方案與所有外部依賴關係。

相關問題