我们在团队基础服务器中有一个asp.net c#网站。我们的项目包括许多第三方dll,它们位于所有开发人员的bin /文件夹下。我们正在尝试通过在tfs中使用构建定义来调整构建策略。
我们尝试在与develeoper计算机不同的服务器上构建项目,并且构建失败,因为这些dll不存在。
我的问题是;我们如何将这些dll用于构建定义?
希望我明确表示,因为我们显然是tfs构建服务的新手:)
谢谢大家。
答案 0 :(得分:6)
感谢您的回答。实际上,我们进一步研究了它,并找到了如下解决方案:
解决了这个问题。提前再次感谢您。
答案 1 :(得分:4)
您可以(#1)在执行构建的服务器中使这些第三方DLL可用,或者(#2)将它们签入源代码控制中。
这是一个讨论过去曾多次发生,一般来说,最明智的做法是继续选择#2。
以下是SO中的其他类似问题,可能对您有用:
How to deal with external assemblies
Team Build 2010 - Third Party Assembly References not copying to output folder
Visual Studio Package build and DLLs in private bin path
答案 2 :(得分:2)
您需要将文件添加到Source Control存储库中。在我们的解决方案中,我们有一个\3rd Party
文件夹,其中包含我们项目引用的所有第三方程序集。
\Main
\3rd Party
\Application
\Modules
\etc.
答案 3 :(得分:0)
关于KemalTaşkın的回复,很好的答案!请注意,有时在使用/ p:ReferencePath =“”
时需要在结尾加上'\'例如: / p:ReferencePath =“ path \ to \ commondlls \”
对于某些版本的MSBuild.exe,请删除最后一个'\'。
这也使用TFS 2015 MSBuild Task的MSBuild Argument字段解决了我的问题。