1

背景

我正在使用以下内容:

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

我有以下构建目标:

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

问题

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

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

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

编码

4

1 回答 1

3

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

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

CCNet 收到一个未注册为错误的 subversion 错误 结果,我从未获得过最新版本的存储库,因此所有文件都损坏了。

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

于 2012-12-11T18:02:15.060 回答