【问题标题】:Same MSBuild file, different results on local machine and CCNet相同的 MSBuild 文件,本地机器和 CCNet 上的不同结果
【发布时间】:2012-12-11 16:47:03
【问题描述】:

背景

我正在使用以下内容:

  • VS 2012
  • .NET 4.5 应用,包括 MVC4 应用、C# 域应用和 NUnit 项目。
  • 自定义 MSBuild 文件
  • CruiseControl.NET 在构建服务器上运行

我有以下构建目标:

  • 清理:删除 buildartifacts 目录
  • 初始化:创建一个空白的 buildartifacts 目录
  • 编译:编译解决方案
  • 测试:运行 NUnit 测试
  • 包:创建用于部署的 ZIP 包
  • 部署:将包部署到远程 IIS 服务器

问题

  • 当我从本地计算机运行构建时,它完美地打包和部署。
  • 当 CCNet 运行相同的构建目标时,文件似乎已部署

尝试的解决方案/潜在的潜在客户

  • 我在两台机器上都在 PowerShell 中运行了相同的目标,并且没有看到任何错误或警告。
  • 因为我告诉 CCNEt 覆盖框架以将其指向我已复制到构建服务器的 .NET 4.5 文件,所以我在运行 MSBuild 时使本地计算机指向相同的文件,但我的本地构建仍然有效并已部署.
  • 在 Visual Studio 中,我确保所有内容文件都标有“内容”的构建操作和“始终复制”的复制到输出设置。

代码

【问题讨论】:

    标签: asp.net iis msbuild cruisecontrol.net ccnet-config


    【解决方案1】:

    事实证明,这是一个完全不相关的问题。

    在对两个构建日志进行比较后,我注意到构建服务器工作副本包含不再存在的旧文件。这让我发现问题最终是存储库没有更新。

    CCNet 收到一个未注册为错误的颠覆错误 结果,我从来没有得到最新版本的存储库,所以所有文件都被破坏了。

    该错误与this StackOverflow question有关,涉及尝试使用tortoisesvn更新时出现sqlite错误。我的解决方案是简单地删除构建服务器的工作副本,重新创建文件夹,然后执行 svn 签出。

    【讨论】:

      猜你喜欢
      • 2016-11-08
      • 2021-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多