Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tfs TeamCity设置和图书馆_Tfs_Msbuild_Continuous Integration_Teamcity - Fatal编程技术网

Tfs TeamCity设置和图书馆

Tfs TeamCity设置和图书馆,tfs,msbuild,continuous-integration,teamcity,Tfs,Msbuild,Continuous Integration,Teamcity,我已经建立了一个团队城市。现在,它从TFS下载代码,并尝试使用MSBuild构建它,但未成功。我知道我做错了什么。我的代码中添加了一些库(ASP.NET网站)。我知道将dll文件添加到版本控制(TFS)不是一个好主意,但如果我不签入它们,当TeamCity下载代码时,它没有库,因此MSBuild无法成功构建它。我想知道解决这个问题的最佳实践是什么?对于.net中的依赖关系管理,我建议您看看TeamCity内置的nuget提要。您可以直接从TeamCity内部使用提要,充当服务器。正如您所说的,在

我已经建立了一个团队城市。现在,它从TFS下载代码,并尝试使用MSBuild构建它,但未成功。我知道我做错了什么。我的代码中添加了一些库(ASP.NET网站)。我知道将dll文件添加到版本控制(TFS)不是一个好主意,但如果我不签入它们,当TeamCity下载代码时,它没有库,因此MSBuild无法成功构建它。我想知道解决这个问题的最佳实践是什么?

对于.net中的依赖关系管理,我建议您看看TeamCity内置的nuget提要。您可以直接从TeamCity内部使用提要,充当服务器。正如您所说的,在(任何)VCS中提交依赖项确实应该避免

这取决于您处理的DLL类型

如果它们在NuGet.org上可用,请使用NuGet和PackageManager控制台向您的解决方案添加引用。然后将NuGet.exe放在构建服务器上,然后运行

NuGet.exe restore YourSolution.sln
作为构建的第一步

如果它们是内部DLL,那么您有几个选择。第一个是,正如TeNGiL所提到的,建立一个私有的NuGet存储库,并将内部DLL发布到该提要,然后从构建服务器中提取


另一个选项是在源代码管理中创建一个“References”目录,该目录保存DLL,从源代码管理目录在解决方案中引用它们,然后将它们作为构建配置的一部分下拉。这真的没有听起来那么糟糕,在合理的范围内,这是一个完全可以接受的临时解决方案,在所有人都同意使用私有NuGet提要之前都可以合并,或者类似的东西。

在VisualStudio中打开TeamCIty的签出目录中的代码,然后尝试构建。我非常确定VisualStudio将向您提供出错的确切错误消息

必须恢复丢失的包。如下图所示,使用Nuget安装程序构建步骤恢复您的包