通过TFS/Team build而不是TeamCity在生成计算机上生成工作

本文关键字:计算机 工作 TeamCity TFS Team build 通过 | 更新日期: 2023-09-27 18:25:03

我是TeamCity的新手,所以请温柔一点

我已经在构建服务器上设置了teamcity。.net构建在通过Visual Studio Team builds启动时有效,但在通过Teamcity启动时无效(通过在管理中单击"运行"按钮,以及在签入时)。

构建失败,加载了类似引用错误的,例如。。用户控件''ucCalendar.cs

(19, 11): error CS0246: The type or namespace name 'AxMSACAL' could not be found (are you missing a using directive or an assembly reference?)
followed by our own objects which have not been created due to other errors.
DAL'OrderItemCollection.cs
(31, 16): error CS0246: The type or namespace name 'OrderItem' could not be found (are you missing a using directive or an assembly reference?)

我理解这些错误的含义,但我显然错过了一些基本的东西,因为我不明白为什么当它通过TFS/Team build在构建机器上构建时可以工作,但在teamcity上失败时。。

  • 两者都使用相同的物理构建机器
  • 两者都使用相同的源:来自TFS
  • 两者都在使用MSBuild来生成解决方案
  • 源包括dll等的外部引用目录

TeamCity与导致这些错误的TFS/TB有什么不同之处?

任何指示都会很有帮助。干杯

通过TFS/Team build而不是TeamCity在生成计算机上生成工作

你可以尝试的东西:

  1. 请确保您的TFS VCS设置是正确的,您需要附加您的TFSVCS根,然后使用以下语法添加Checkout规则:

    +:path/to/ProjectFolder=>.
    +:path/to/libary=>library/path
    

    这将把项目文件夹的内容签出到agent.work.dir/buildNumber,把库签出到agent.work.dir/buildNumber/library/path.

  2. 打开Visual Studio并检查对库的引用,然后转到构建机器并打开/buildNumber(您将在TeamCity->Agents->(TeamCityAgent)->Agent Parameters中找到路径。查找你的图书馆,看看TeamCity在哪里签出了它们。

  3. 如果安装了VS,那么在buildmachine(agent.work.dir)/buildNumber上打开已签出的解决方案也可能有所帮助。你应该看看你的参考资料在之外的地方

通常,这是TeamCity无法在构建服务器/开发人员系统中找到存在但在TeamCity"干净"地重新创建构建环境时不存在的东西。这正是我们使用它的原因,以捕捉这些类型的"它构建在我的系统上!"错误。

TeamCity是否按照正确的顺序构建AxMSCAL项目?如果是第三方组件,它会被TeamCity拆除吗?