gpt4 book ai didi

c# - 如何使用持续集成服务器处理构建破坏外部依赖关系? (例如,Crystal Reports 与 TeamCity)

转载 作者:行者123 更新时间:2023-12-02 01:21:05 25 4
gpt4 key购买 nike

我刚开始使用持续集成,并决定使用 TeamCity。我遇到的一个问题是,由于缺少依赖项,我的代码无法编译。

(8, 7):错误 CS0246:找不到类型或命名空间名称“CrystalDecisions”(您是否缺少 using 指令或程序集引用?)

所以,我不太确定在这里做什么才是正确的。

  1. 我要安装 Crystal Reports吗可重新分发并让它永远放在那里?
  2. 我是否设置了我的构建以便安装 Crystal编译前的报告所有测试完成后卸载完全的?
  3. 其他一些选择不知道吗?

选项 (1) 似乎可能是一个问题,因为我可能有多个项目需要不同版本的 Crystal Reports,而且也许我无法将它们全部安装。选项(2)似乎可以通过命令行实现。我猜这是执行此操作的正常方法?

谢谢

最佳答案

为了简洁地回答您的问题,您应该在每个需要编译代码库的机器上安装可再发行组件,包括 TeamCity 构建代理,并无限期地保留它(从那时起,您应该只需要再次接触该包根据您的应用程序可能需要将其更新到更高版本)。

通常,需要使用简单的开发环境和/或软件安装来设置 TeamCity 服务器(和/或其构建代理,如果使用分布式 CI 模型)。换句话说,构建代理将需要与开发环境编译应用程序所需的相同资源,除了完全安装 IDE(您可能正在使用 msbuild 或 nant),原因完全相同开发环境需要资源。此类资源包括但不限于:

  • 代码库本身;所有源代码、配置文件和内容/嵌入资源文件。
  • .NET Framework 的目标版本,以及您希望明确支持的任何其他版本(例如,当您以 4.0 为目标时,为 3.5)
  • 外部库,例如 ORM 和 IoC 框架、NUnit、自定义数据提供程序(例如 SqLite),当然还有可再发行组件(例如 Crystal Reports)。这包括必要时进行 GAC 注册。
  • 输入、输出、程序集引用等的正确文件夹结构与开发环境相同。

确保这一切都存在的最简单方法是尽可能将其构建到您的解决方案架构中。

关于c# - 如何使用持续集成服务器处理构建破坏外部依赖关系? (例如,Crystal Reports 与 TeamCity),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4432908/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com