gpt4 book ai didi

msbuild - TeamCity:无法检测 MSBuild 项目中的目标

转载 作者:行者123 更新时间:2023-12-02 17:02:58 24 4
gpt4 key购买 nike

我认为 TeamCity MSBuild 替代品存在一些问题。

我尝试使用 MSBuild 任务 (NAnt Contrib) 编译 Delphi 2010 项目(兼容 MSBuild)。

如果我在控制台上没有 TeamCity 的情况下执行此操作,则一切正常。

如果我尝试使用 TeamCity,我会收到以下错误消息:

Failed to detect default target(s) in the project file  F:\CI\TeamCity\TeamCity\buildAgent\work\892195dab42324a3\build\src.temp\TestProject\Test.dproj.  Please define targets explicitly in the build configuration options on  TeamCity Web UI. Project does not define DefaultTargets or  InitialTargets.

我尝试通过指向重建目标的 MSBuild/target 开关显式设置目标。到目前为止还没有运气。

有什么建议吗?提前致谢。

编辑:

    <foreach item="File" property="iterator.dproj">
<in>
<items>
<include name="${src.temp}\**\*.dproj" />
</items>
</in>
<do>
<msbuild project="${iterator.dproj}">
<arg value="/target:Rebuild" />
</msbuild>
</do>
</foreach>

*.dproj 文件是一个标准的 delphi 2010 项目文件(它经过 xsl 转换,但它仍然是一个有效的项目文件)

编辑2:

感谢 s。 ermakovich,我用直接调用 NAnt 替换了 msbuild 任务(来自 NAnt contrib),这不会在 TeamCity 服务器上产生错误。看起来 TeamCity 只替换了对 NAnt contrib msbuild 任务的调用。 :-)

    <property name="msbuild.exe" value="${framework::get-framework-directory(nant.settings.currentframework)}\msbuild.exe" />
<foreach item="File" property="iterator.dproj">
<in>
<items>
<include name="${src.temp}\**\*.dproj" />
</items>
</in>
<do>
<exec program="${msbuild.exe}">
<arg path="${iterator.dproj}" />
</exec>
</do>
</foreach>

最佳答案

您似乎在控制台命令行中使用了 /target 开关。请尝试在 TeamCity Web UI 上的构建配置选项中指定您需要的目标,如错误消息所建议的那样。您可以在 TeamCity 项目配置的 Runner 选项卡上找到此参数。输入以空格或分号分隔的目标。默认支持构建、重建、清理、发布目标。

关于msbuild - TeamCity:无法检测 MSBuild 项目中的目标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4041168/

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