RAD Studio 2009でMSBuildを使用する際のMSB4057エラー
-
22-07-2019 - |
質問
概要:RAD Studioコマンドプロンプトを使用してビルドサーバー上でMSBuildを使用してRAD Studio 2009プロジェクトをコンパイルできますが、バッチファイルは使用できません。ただし、この同じバッチファイルは、ワークステーションで正常に機能します。サーバー上で返されるエラーは次のとおりです。MSB4057。
MSBuildをRAD Studioで使用する方法を学習しているだけで、MSBuildの機能をRAD Studioで動作させようとしています。環境変数を適切に設定し、プロジェクトをコンパイルするバッチプログラムを生成しました。これは私のワークステーションでうまく機能しています。
ただし、すべてをビルドサーバーに移動しても機能しません。
私は、なぜこれが起こっているのかという答えに近いと思います。サーバーで次のように入力することで、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
解決
わかりました。自動ビルドサーバーでこれを処理する方法を見つけようとして、Google検索結果のページをトレースした後、バッチプログラムのパスを調べて、インストールパスとは異なることに気付きました。
@SET BDS=C:\RS\
すべきだった
@SET BDS=C:\RS\6.0\
学ぶためのレッスン:MSBUILDは、 BDSパスを解決できない場合、MSB4057エラーを返すことができます。
補足:この簡単な修正がうまくいかない場合は、プロジェクトファイルに適切なトレース指示があることを確認してください。 msdnに関するこの記事を参照
所属していません StackOverflow