2008-12-02 59 views
2

摘要:我能夠使用RAD Studio命令提示符在生成服務器上使用MSBuild編譯RAD Studio 2009項目,但不能使用批處理文件。但是,這個批處理文件在我的工作站上成功運行。在服務器上返回的錯誤是:MSB4057。MSB4057在RAD Studio 2009中使用MSBuild時出錯

我只是在學習如何在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 

回答

3

我想通了。在追蹤谷歌搜索結果頁面,試圖找出一種方法讓我的自動構建服務器處理這個過程之後,我查看了批處理程序中的路徑,並注意到它與安裝路徑不同。

@SET BDS=C:\RS\ 

應該已經

@SET BDS=C:\RS\6.0\ 

的教訓:MSBUILD可以返回MSB4057錯誤時不能解決BDS路徑。

側注意:如果這個簡單的修復程序不適合你,請確保你的項目文件中有適當的跟蹤指令。 see this article on msdn

相關問題