所以我有很多项目的非常庞大的解决方案,其中很少使用此解决方案中其他项目的dll,有些项目在执行构建后将文件复制到其他目录。 (作为后期制作活动)
当我在我的机器上本地构建解决方案时,一切都很棒并且正常工作,但是当我配置构建,并在构建服务器上构建它(我们使用TFS)时出现问题,当我尝试时出现错误加载此解决方案中的一个应用程序。 (错误没有给我很多关于出了什么问题的数据)
所以在我坐下调试所有这些之前。有谁知道我如何巧妙地管理本地执行的所有构建操作,并通过构建服务器并查看增量?
我希望能够在构建服务器上构建与我在机器上完全相同的解决方案(具有目录结构,构建后事件......等)
非常感谢
答案 0 :(得分:3)
通常接受的方法是使用NuGet来管理程序集引用。您可以将依赖程序集作为持续交付过程的一部分发布到NuGet中,然后根据需要引用(并更新!)在使用它们的解决方案中的那些依赖项。
这消除了歧义("什么版本的Foo.dll是Project X使用?")并减少了运行时错误("为什么Project X使用Foo.dll 3.0?它从未测试过用3.0!它需要运行2.7!")。