我有一个非常庞大的应用程序,有超过400种不同的项目。它们中的大多数都是在非常小的解决方案中开发的,其中大部分只有2到5个项目,并且都有一个名为“Main”的项目,这是一个调用另一个项目的启动项目,用于加载时间和效率。 / p>
我已将所有这400个项目手动添加到我的TFS构建定义中。 现在有两个问题:
1-在TFS中,我的项目似乎需要在构建定义中以良好的构建顺序放置? TFS不会自动检测依赖关系,因为我的小NAnt独自完成了???您是否想过必须为包含400个项目的解决方案找出正确的构建顺序?如果它们在相同的解决方案中,这将很容易,但事实并非如此。
2-我们使用第三方程序集(Dlls)。我在我的TFS工作区中添加了一个名为“CommonDlls”的文件夹。我的构建正确启动并开始编译我的第一个项目并将它们发送到构建的“bin”目录。也许,当构建试图编译引用第三方程序集的第一个项目时,它找不到它...在预构建脚本中是否有办法将位于“CommonDlls”文件夹中的文件复制到“bin”outdir构建? TFS在编译每个项目时是否会使用这些Dll,或者它是否真的尝试将引用路径用于每个项目?
假设我的开发机器上的项目为“c:\ TFS \ bin”作为所有dll的参考路径,TFS会尝试查找该文件夹,或者它将使用outdir(它自己创建的bin文件夹) )?
答案 0 :(得分:0)
最有效的方法是将DLL逻辑打包到NuGet包中。然后,您可以将它们存储在文件共享上并配置Visual Studio,并构建服务器以在构建时获取正确的服务器。这消除了使用大二进制文件加重源服务器负担的需要,并允许服务器在解决方案之间缓存包。