总结:我可以使用RAD Studio命令提示符在Build Server上使用MSBuild编译RAD Studio 2009项目,但不能使用批处理文件。但是,同一个批处理文件可以在我的工作站上成功运行。在服务器上,返回的错误是:MSB4057。
我正在学习如何在RAD Studio中使用MSBuild,并试图让MSBuild的东西与它一起工作。我已经生成了一个批处理程序,它将适当地设置环境变量,然后为我编译项目。这在我的工作站上工作正常。
但是,当我将所有内容移到构建服务器上时,它不起作用。
我认为我接近于为什么会发生这种情况的答案。我可以通过在服务器上键入这个来从RAD Studio命令提示符编译我的项目:
msbuild C:\MyProject\Group\Project.groupproj
这是我尝试运行的命令文件:
@SET BDS=C:\RS\
@SET BDSCOMMONDIR=C:\Users\Public\Documents\RAD Studio\6.0
@SET FrameworkDir=C:\Windows\Microsoft.NET\Framework\
@SET FrameworkVersion=v2.0.50727
@SET FrameworkSDKDir=
@SET PATH=%FrameworkDir%%FrameworkVersion%;%FrameworkSDKDir%;%PATH%
msbuild C:\MyProject\Group\Project.groupproj /t:Clean;Build /p:"Config=Release"
这是命令提示符的输出:
C:\>msbuild C:\MyProject\Group\Project.groupproj /t:Clean;Build /p:"Config
=Release"
Microsoft (R) Build Engine Version 2.0.50727.1434
[Microsoft .NET Framework, Version 2.0.50727.1434]
Copyright (C) Microsoft Corporation 2005. All rights reserved.
Build started 12/2/2008 12:24:26 PM.
__________________________________________________
Project "C:\MyProject\Group\Project.groupproj" (Clean;Build target(s)):
Target Clean:
Target Project1:Clean:
__________________________________________________
Project "C:\MyProject\Group\Project.groupproj" is building "C:\MyProject\Project1\Project1.cbproj" (Clean target(s)):
C:\MyProject\Project1\Project1.cbproj : error MSB4057: The target "Clean" does not exist in the project.
Done building project "Project1.cbproj" -- FAILED.
Build FAILED.
C:\MyProject\Project1\Project1.cbproj : error MSB4057: The target "Clean" does not
exist in the project.
0 Warning(s)
1 Error(s)
Time Elapsed 00:00:00.01
答案 0 :(得分:3)
我明白了。在浏览谷歌搜索结果页面后,试图找到一种方法让我的自动构建服务器处理这个,我查看了批处理程序中的路径,发现它与安装路径不同。
@SET BDS=C:\RS\
应该是
@SET BDS=C:\RS\6.0\
要学习的课程:当MSBUILD无法 解析BDS路径时,MSBUILD会返回错误。
备注:如果此简单修复程序不适合您,请确保项目文件中有正确的跟踪说明。 see this article on msdn