2013-03-12 97 views
1

所以我们有一个由3个项目BusinessLibrary.UI,BusinessLbrary.Domain的ASP.net MVC 4溶液,BusinessLibrary.TestsTFS和图书馆的NuGet不可

我们使用的NuGet来管理我们所有的像json.net,实体等图书馆,但我们也有一些私人图书馆,我们已经添加。什么是管理我们拥有的私人图书馆的最佳方式。我希望能够让新开发人员在开始时获取与此项目关联的所有DLL。

我读过,我可以创建一个库或lib文件夹,然后只是引用该DLL的那里。但是,如果将该项目与项目的源代码管理进行核对,那么呢?我只想复制非nuget私人图书馆吗?这是最好的方式吗?

什么是这种情况的标准做法,我应该如何存储我的私人图书馆?

回答

2

就我个人而言,我在解决方案级别创建了一个依赖关系文件夹。我把所有在那里引用的非NuGet库。当我添加引用时,我确定从依赖关系文件夹引用程序集。确保将依赖关系文件夹添加到源代码管理。

这样,任何开发人员从源代码​​管理下拉解决方案都会自动获得所有依赖关系的正确版本。

+0

谢谢!这需要TFS工作区中的新映射正确吗? – ios85 2013-03-12 15:25:45

+0

@ ios85 - 老实说,我不记得TFS足够说一种或另一种。 – 2013-03-12 15:32:12

+0

位于解决方案级别的arent文件夹未映射到结构中的物理文件夹?当我创建一个名为Dependencies的文件夹(在解决方案级别),并向它添加了一个DLL时,dll出现在解决方案文件夹的根目录中。所以,你只是将DLL移动到文件夹中(比如说依赖关系),然后创建一个解决方案文件夹和一个新的项目(这只是一个参考)? – ios85 2013-03-12 16:27:36

0

我们创建一个库目录,在其中添加程序集并使用相对路径来引用它们。我们也检查这个目录,所以每个团队成员立即拥有最新的程序集。

另一个选择是设置一个私人的NuGet feed(比如MyGet),并将你的程序集作为包发布。

0

在我们的项目中,我们为私有DLL创建了lib文件夹,并将其与源代码一起签入到TFS中。 NuGet包自动添加到TFS。

2

或者,您可以安装自己的NuGet server,并在成功构建这些库之后将库放在那里