2012-11-07 28 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中保存二进制文件的库文件夹。这样我可以从我的家庭和工作项目工作空间访问我使用的公共库,并且该服务使版本保持最新。