Den*_*nis 6 msbuild nant teamcity continuous-integration
我认为TeamCity MSBuild替换有些问题.
我尝试使用MSBuild任务(NAnt Contrib)使用NAnt编译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.
Run Code Online (Sandbox Code Playgroud)
我试图通过指向Rebuild目标的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>
Run Code Online (Sandbox Code Playgroud)
*.dproj文件是一个标准的delphi 2010项目文件(它用xsl转换,但它仍然是一个有效的项目文件)
EDIT2:
谢谢你.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>
Run Code Online (Sandbox Code Playgroud)
您似乎在控制台命令行中使用/target开关。请尝试在 TeamCity Web UI 的构建配置选项中指定您需要的目标,正如错误消息所建议的那样。您可以在 TeamCity 项目配置的Runner选项卡上找到此参数。输入以空格或分号分隔的目标。默认情况下支持构建、重建、清理、发布目标。
| 归档时间: |
|
| 查看次数: |
7776 次 |
| 最近记录: |