【问题标题】:Team City build of orchard CMS failing果园 CMS 的 Team City 构建失败
【发布时间】:2012-02-24 16:40:47
【问题描述】:

我是 Orchard 和 MVC 3 的新手。现在,我正在尝试在 Team City 下构建我的解决方案。但它没有成功构建。

我已经从 orchard 的网站下载了整个源代码。目录结构是

OrchardSite(根文件夹) ->Lib(根的子文件夹) ->Src(根的子文件夹)

这两个文件夹都是我的仓库的一部分。

Team City 中的构建失败并抱怨无法找到任何依赖项。 错误日志的快照:

[12:09:09]: Orchard\Orchard.Framework.csproj (13s)
[12:09:10]: [Orchard\Orchard.Framework.csproj] CoreCompile (12s)
[12:09:10]: [CoreCompile] Csc (12s)
[12:09:21]: [Csc] ContentManagement\ContentItemBehavior.cs(2, 7): error CS0246: The type or namespace name 'ClaySharp' could not be found (are you missing a using directive or an assembly reference?)
[12:09:21]: [Csc] ContentManagement\ContentItemBehavior.cs(5, 40): error CS0246: The type or namespace name 'ClayBehavior' could not be found (are you missing a using directive or an assembly reference?)
[12:09:21]: [Csc] ContentManagement\DefaultContentDisplay.cs(5, 7): error CS0246: The type or namespace name 'ClaySharp' could not be found (are you missing a using directive or an assembly reference?)
[12:09:21]: [Csc] ContentManagement\IContentBehavior.cs(1, 7): error CS0246: The type or namespace name 'ClaySharp' could not be found (are you missing a using directive or an assembly reference?)

不确定需要做什么。有人可以帮帮我吗?

附:我不想把这篇文章写得太长——所以,如果有什么你需要知道的而我错过了,请告诉我。谢谢!

【问题讨论】:

    标签: continuous-integration teamcity orchardcms


    【解决方案1】:

    我们使用 Team City 作为我们的持续集成。你大概可以看看我们的配置:http://teamcity.codebetter.com/project.html?projectId=project143&tab=projectOverview

    这是我们设置的副本:

    常规设置 姓名: * 说明:
    内部版本号格式:*
    格式可能包含“{0}”作为构建计数器值的占位符,例如 1.{0}。它还可能包含对任何可用参数的引用,例如,VCS 修订号:%build.vcs.number.*%。 注意:所有替换后内部版本号的最大长度为 256 个字符。

    构建计数器:* 重置计数器 神器路径:
    编辑工件路径:

    隐藏 用于构建工件的新行或逗号分隔路径。支持 ant 样式的通配符,如 dir/*/.zip 和目标目录,如 *.zip => winFiles,unix/distro.tgz => linuxFiles,其中 winFiles 和 linuxFiles 是目标目录。 如果出现以下情况,则构建失败:
    构建过程退出代码不为零 至少一项测试失败 构建运行器记录了一条错误消息 它运行时间超过几分钟 检测到内存不足或崩溃(仅限 Java) 构建选项:启用悬挂构建检测 启用状态小部件
    限制同时运行的构建数量(0 - 无限制)

    结帐设置 VCS 结帐模式:
    结帐目录:
    留空以在代理上使用默认结帐目录。

    在构建之前清理所有文件:
    VCS 标签 VCS标注方式:不标注 只有成功 总是 标签模式:
    选择要标记的 VCS 根:Orchard Mercurial (CodePlex) (1.x)

    构建步骤 跑步者类型:
    MSBuild 文件的运行器 步骤名称:
    您可以指定构建步骤名称以将其与其他步骤区分开来。 构建文件路径:*
    指定的路径应该是相对于结帐目录的。

    工作目录:
    可选,指定是否与结帐目录不同。

    MSBuild 版本:
    MSBuild 工具版本:
    运行平台:
    目标:
    输入以空格或分号分隔的目标。

    命令行参数:
    在 MSBuild.exe 中输入其他命令行参数。

    减少测试失败反馈时间:首先运行最近失败的测试 .NET 覆盖范围 .NET 覆盖工具:

    构建触发器参数说明 VCS 触发静默期:300 秒(默认)

    【讨论】:

    • 嗨@Bertand,感谢您提供如此详细的答案。我的设置就是这样..我想知道是否还有其他事情需要做,因为编译抱怨它在 Lib 文件夹中找不到 DLL。你的目录结构也是这样吗?
    • 终于编译好了!最初,当我设置配置时,我已将构建步骤 - Runner Type 设置为 Visual Studio (sln)。稍后将其更改为 MSBuild。出于某种原因,当我将相对文件夹路径作为命令行参数传递给 Orchard.csproj 文件时,它在抱怨。因此,将其移至构建文件路径部分,哇!它编译!多谢!不过有一个问题 - 我该如何构建工件(指定它们应该放置的位置)?
    • 这里是工件路径:artifacts/**/*.zip artifacts/**/*.nupkg
    • 但是我该如何在 TeamCity 构建中提及工件路径?我尝试将 /T:Package 作为命令行参数传递,但构建抱怨这样的构建目标不存在。我是否必须更改项目的打包/发布 Web 属性?
    • 对不起,我很痛苦,但我仍然不明白这个过程可能是什么。我尝试使用 msbuild 构建 Orchard.csproj 并提到目标作为构建 (/t:build),但我仍然看不到任何生成的工件。该解决方案构建得一样好,没有错误。我需要先更改一些设置吗?
    猜你喜欢
    • 1970-01-01
    • 2017-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-18
    • 1970-01-01
    • 2016-10-24
    • 2011-11-03
    相关资源
    最近更新 更多