2010-12-04 12 views
1

私が今見ている唯一の方法は、必要なタスク呼び出しを含むMSBuildのxmlファイルを作成し、「プログラムの実行」アクションを呼び出すことによって直接MSBuildを実行することです。 FinalBuilderを使ってこれを行う標準的な方法はありますか?FinalBuilderからMSBuildタスクを呼び出す方法は?

答えて

2

FinalBuilder 6では、MSBuildタスクを使用できます。しかし、私たちのビルドスクリプトで正直言って、バッチファイルと 'Execute Program'を使ってより良い解決策を見つけました。

編集:このトピックに関するいくつかの読書をすばやく行っています。なぜバッチファイルを使用したのかを覚えています。 FB6 MSBuildアクションは少し不便です。なぜなら、すべてのプロパティが 'デフォルトビュー'からアクセスできるわけではなく、 'プロパティグリッド'に変更する必要があるからです。

更新日:コメントから:個別のMSBuildタスクを実行し、 'プログラムの実行'アクションを使用しない場合は、独自のFBアクションを作成する必要があります。私は自分でカスタムアクションを作成したことはありませんが、明らかに本当にシンプルです。

これは私が使用したバッチファイルです:

@ECHO off 
SET Action=%1 
SET Configuration=%2 
SET Platform=x86 
SET CommonTools=%VS90COMNTOOLS% 
SET SourceDir=%CD%\..\.. 
SET SolutionFilename=Solution.sln 
SET MSBuild=C:\Windows\Microsoft.NET\Framework\v3.5\MSBuild.exe 

IF "%Action%" == "" SET Action=Rebuild 
IF "%Configuration%" == "" SET Configuration=Release 

:BUILD 
%MSBuild% "%SourceDir%\%SolutionFilename%" /v:m /t:%Action% /p:Configuration=%Configuration% /p:DenEnvDir="%CommonTools%..\IDE\" /p:SolutionDir="%SourceDir%" /p:Platform=%Platform% 

:END 
ECHO. 
ECHO ErrorLevel: %ERRORLEVEL% 
EXIT /B %ERRORLEVEL% 
+0

FBにはMSBuildタスクがありません。回避策のように見える "MSBuild project"アクションがあります。 Btw、なぜあなたは不動産グリッドは別のスクリプトよりも直感的ではないと思いますか? – Restuta

+0

ああ、申し訳ありませんがFBをインストールしていません。私が考えていた「MSBuild Project」だったに違いない。プロパティグリッドに関するコメントは、FBでのアクションの編集に特有のものでした。特にMSBuildプロジェクトの場合私は、ユーザーに多くの動的データを提示する必要があるため、ソフトウェアで頻繁にプロパティグリッドを使用します。 – Dennis

+0

ありがとう、これが唯一の正しい方法だと思われます。 – Restuta

0

をあなたはそれが依存するMSBuildの環境をインスタンス化せずに別のアプリケーション内からのMSBuildタスクを実行することはできません。少なくとも、msbuildプロジェクトファイルが必要です。

+0

私は理解できませんが、私の質問はFinalBuilderに組み込まれている機能です。例えば。彼らは "MSBuildプロジェクトの実行"アクションを持っています。なぜ "MSBuildタスクの実行"アクションがないのですか? – Restuta

関連する問題