我已部分成立了TeamCity。现在它从TFS下载代码并尝试使用不成功的MSBuild构建它。我知道我做错了什么。我有一些库添加到我的代码(一个ASP.NET网站)。我知道将dll文件添加到版本控制(TFS)并不是一个好主意,但是如果我不检查它们,当TeamCity下载代码时,它没有那些库,因此MSBuild无法成功构建它。我想知道解决这个问题的最佳做法是什么?
答案 0 :(得分:2)
对于.net中的依赖关系管理,我建议你看一下nuget feed中内置的TeamCity。您可以直接从TeamCity中使用Feed,充当服务器。正如您所述,应该真正避免在(任何)VCS中提交依赖...
答案 1 :(得分:0)
这取决于你正在处理什么类型的dll。
如果它们在NuGet.org上可用,请使用NuGet和程序包管理器控制台添加对您的解决方案的引用。然后只需将NuGet.exe放在Build Server上,然后运行
NuGet.exe restore YourSolution.sln
作为您的第一个构建步骤。
如果他们是内部dll,那么你有几个选择。第一个是,正如TeNGiL所提到的那样,建立一个私有的NuGet存储库,并将内部dll发布到该feed,并在构建服务器中从中提取。
另一种选择就是创建一个'参考'源代码管理中的目录,它包含dll,在源代码管理目录中从解决方案中引用它们,然后在构建配置中将它们拉下来。这听起来并不合理,在合理范围内,并且是一个完全可以接受的临时解决方案,直到每个人都在使用私有NuGet提要或其他类似的东西。
答案 2 :(得分:0)