none
a.dll、b.dll 都是.net托管的dll,c.dll 编译的时候要用到a.dll、b.dll,c project指的不是c语言,全都是c#的。 RRS feed

  • 问题

  • a.dll、b.dll 都是.net托管的dll,c.dll 编译的时候要用到a.dll、b.dll,c project指的不是c语言,全都是c#的。

    还是有些疑问:(对应上面的1、2、3)
    1.向像微软的windows、office、甚至小一点的msn messanger项目应该都不会所有的开发人员都能对项目中所有的源代码有签入签出的权限吧。
    2.
    c)“建多个团队项目生成类型,里面包含一个解决方案,解决方案中包含一个工程。这样一来,上面的问题是解决了,输出在不同的目录, 用post-build script 把需要的dll 部署到各个目的地。”,这样一来,如果a.dll被其他的10个dll引用,a.dll的开发人员需要建立10个其他的目录post-build script 成功,如果他改了post-build script会导致其他人无法获得新的版本。还有"TFS build每次生成都会把团队项目下面所有的源代码都取出来一次,而不是取那个解决方案要用到的代码。时间变得很长。"这一点还是个问题。
    3.用post-build script 解决不是很好,不同的dll(a.dll/b.dll/c.dll等)是由不同的人开发的。我觉得应该有方法让c.dll的开发人员应该在不需要 a.dll/b.dll的源代码的情况下方便的获取到新的a.dll/b.dll。
    2007年8月10日 7:49

答案

  • 我认为你将bin设在vss里是不必的。每个项目的输出都设到同一个目录下是合适的。但是在每个项目的属性里设好就可以了。不必将那个目录的东西也弄到vss里。每个成员在自己的本机编译的时候自己编译出。对于别的工程没有源代码权限的dll可以采取两种方式。
    1、老思路,利用团队管理里的文档目录下,自己建立一个bin目录,将所有的dll都上载到那里。
    2、就是使用团队项目生成来做这件事。
    2007年8月10日 8:17