2012-11-07 32 views
3

我已經形成了一些源代碼文件作爲我的庫。例如,我寫了LinqExtension.cs提供中位數()函數。在家裏和辦公室共享C#項目的文件

現在我正在開發一個需要LinqExtension.cs的項目。通常,我將文件鏈接到項目。如介紹here。我鏈接文件而不是複製文件的原因是將文件保存在一個位置。如果我修改了一個文件,所有依賴項目都會受到影響。

我還將該項目添加到Subversion並上傳到Google Code並從Google Code下載。鏈接的文件不受版本控制。

我在家裏以及在辦公室工作。我討厭將鏈接的文件複製到我的辦公室,這使得文件不是單一的。

我想出了一個解決方案,將<Compile Include="http://www.example.com/LinqExtension.cs"/>添加到csproj文件中,以便該文件只存在於Internet上。一旦我上傳文件的新版本,所有依賴項目都會受到影響。不幸的是,該解決方案無法運作

任何其他建議或更好的做法?

回答

2

更好的方法是在二進制級別而不是在源代碼處共享您的核心庫。您可以設置一個private Nuget repository以使這更容易。

如果共享文件是絕對必要的,您可以使用項目中的預生成操作從常見位置複製文件,甚至可以從谷歌代碼下載文件。它不乾淨,但如果你不想使用源代碼控制,那麼我認爲你不會找到一個乾淨的方式。

+0

我的一些文件只包含一種方法。我想,這些文件的dll應該是1KB。使用這些小型DLL可能效率不高。另外,我的文件中的方法是內部的。如果文件有100個內部方法,但我只使用1,則優化模式下的編譯器不會編譯剩餘的99個方法。但是,您的「預先構建操作」對我很有用。 – Gqqnbig

1

我喜歡在我的Dropbox中保存二進制文件的庫文件夾。這樣我可以從我的家庭和工作項目工作空間訪問我使用的公共庫,並且該服務使版本保持最新。