問題タブ [msbuild-task]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
2614 参照

msbuild - MSBuild CopyTask:同じファイルを複数の場所にコピーする

CopyTaskに同じファイルを複数の場所にコピーさせる方法はありますか?

例えば。AssemblyInfo.csファイルを生成しましたが、ビルドする前にすべてのプロジェクトにコピーしたいと思います。

0 投票する
1 に答える
2000 参照

msbuild - MsBuild での動的プロファイル パスの宣言

現在、ユーザーのプロファイル内の場所にファイルをコピーしようとしていますが、動的プロファイル名の宣言で問題が発生しました。

動的ユーザー プロファイル名を宣言するための構文は何ですか? どこかからプロファイル名を取得する必要がありますか、またはそれを見つける別の MsBuild タスクがありますか?

ありがとう。

0 投票する
3 に答える
1029 参照

command-line - MsBuildで使用するDOS入力の読み取り/キャプチャ

MsBuildで使用するDOS入力をキャプチャ/読み取るにはどうすればよいですか?

明確にするために編集

現在、2つのファイルがあります。1つのバッチファイル、もう1つはmsbuildのものを含むcore.msbuildファイルです。Windowsコマンドプロンプト(ビルドファイルの実行時)から追加のユーザー入力(出力ディレクトリなど)をキャプチャして、msbuildファイルに送信できるようにしたい(そしてPropertyGroupに設定したい)。%1はすでに取得されているので、%2を使用することを考えています。

次のように:

param2は、上記をキャプチャして実行しようとしているimです。

ありがとう。

0 投票する
2 に答える
935 参照

msbuild - MSBuildITaskItemRecursiveDirメタデータが消えます

一連のファイルを処理し、これの変更されたサブセットを返すカスタムMSBuildタスクがあります。基本的に、いくつかの項目をスキップして、入力から新しいITaskItem配列を作成するだけです。

ただし、この結果セットがMSBuildに返されると、RecursiveDirメタデータは表示されなくなります。カスタムタスクのExecute()メソッドの最後にはまだ正しい値がありますが、MSBuildでRecursiveDirを使用しようとすると、空であることがわかります。もちろん、これはかなりの問題です。

私は何をすべきか?これは正常ですか?ファイル名や拡張子などの他のメタデータはまだあります。IDは正しいファイルも指します。カスタムタスクでメタデータを変更することはありません。

他のMSBuildタスクライブラリも特別な処理なしでITaskItem配列を返すのを見てきました。しかし、誰もこの問題に遭遇していませんか?奇妙な!

MSBuild3.5を使用しています。

0 投票する
1 に答える
797 参照

msbuild - MsBuild-バッチタスクを分離して、1つの失敗したタスクが残りのタスクをスキップしないようにすることは可能ですか?

例から始めましょう...私はこれに似たall.projを持っています:

タスクの1つが失敗すると、ターゲットを終了します。エラーを出力して残りのタスクを実行し続ける方法はありますか?

ContinueOnErrorは、エラーを警告に変換するだけなので、オプションではありません。最終的にビルドを失敗させたいのですが、取得できる限り多くのエラー情報も取得したいので、一部のサイトが失敗したとしても、すべてのサイトをコンパイルする必要があります。

0 投票する
4 に答える
7831 参照

date - msbuildスクリプトの日付形式?

私のmsbuildスクリプトでは、zipファイル名にyear / month / dayを含むzipファイルを作成していますが、月と日は常に先行ゼロなしで書き込まれます。

zipファイル名に先行ゼロを追加する方法はありますか?

結果は次のようになります。'Application_2010122.zip'(ご覧のとおり、1月の先行ゼロはありません)

0 投票する
2 に答える
563 参照

msbuild-task - Cruise Control.net Ms Build Task 設定 XML 出力 名前

CruiseControl.net のバージョン 1.5.6755.1 を実行しています。ビルドを実行するブロックは次のとおりです

これを実行すると、..のような名前のファイルが生成されます。

msbuild-results-5cb1c8fa-1bba-4e97-a0b1-b2bf637308dc.xml

MsBuild タスクに、xml ファイルに名前を付けることができる別のタグはありますか? xml ファイルの名前を指定できるロガーへの引数はありますか?

0 投票する
2 に答える
5923 参照

entity-framework - プロジェクト ファイルを使用せずに MSBuild を使用して Entity Framework モデルをビルドしますか?

かなり大きなプロジェクトのスクリプトを作成中です。プロジェクトの 1 つは、エンティティ フレームワーク モデルをライブラリにコンパイルする必要があります。ビルド サーバーの動作方法により、開発者やプロジェクト ファイルに影響を与えることなく、さまざまな展開シナリオを管理するために、すべてのビルドが手作業で作成されます。

Visual Studio によって生成されたプロジェクト ファイルを使用せずに、MSBuild タスクを使用して EF モデルを生成する方法はありますか? 現在、実際のアセンブリは CSC タスクを使用してコンパイルされますが、コンパイルされたアセンブリに EF モデルが含まれていないため、実際に展開されたアプリケーションは失敗します。

モデルを生成し、アセンブリに埋め込むために必要なリソースを作成するためにターゲットまたはビルド タスクを使用できるポインターはありますか?

ご注意ください

プロジェクトは Visual Studio で正常にコンパイルされますが、展開時にプロジェクトにさまざまな変更を加える必要があるため、ビルド サーバーでプロジェクト ファイルを使用することはできません。これは、外部のカスタム ビルド スクリプトによって制御されます。開発チームが管理します。これはいくつかのプロジェクトでうまく機能していますが、この特定のシナリオでは EF モデルが頭痛の種になっています。

アップデート

現在のソリューションは理想的ではありませんが、機能します。プロジェクト ファイルは、EF モデル リソースを新しいリリース ビルドのプロジェクト内のフォルダーにコピーするように変更されており、ソース管理にチェックインされます。ビルド スクリプトがサーバー上で実行されると、EF モデルがアセンブリに埋め込まれます。これは、現時点で実行可能な回避策のようです。

0 投票する
2 に答える
987 参照

windows - MSBuild で現在のオペレーティング システムのバージョンを確認するにはどうすればよいですか?

現在の OS バージョンを返すネイティブまたはカスタムの MSBuild タスクはありますか? Exec タスク経由で呼び出すことができるバイナリはありますか? または、他のオプションはありますか?

編集: Peter Lang は次のリンクを提案しました: http://www.paraesthesia.com/archive/2009/07/06/getting-the-windows-os-version-in-msbuild.aspx

0 投票する
4 に答える
10995 参照

msbuild - 冗長な再構築をトリガーせずに MSBuild で ProjectReference の出力を決定する

多くのプロジェクトを含むソリューションの一部として、(<ProjectReference>ソリューション内の他の 3 つのプロジェクトと他のいくつかのプロジェクトを介して) 参照するプロジェクトがあります。でAfterBuild、3 つの特定の依存プロジェクトの出力を別の場所にコピーする必要があります。

さまざまなSOの回答などを介して、それを達成するために私が落ち着いた方法は次のとおりです。

しかし、これで問題が発生しました。<MSBuildステップのタスクは、最終的IncrementalCleanに のいくつかの出力を削除しますProjectC。これを VS2008 で実行すると、build.forceファイルが ProjectC のobj/Debugフォルダーに置かれ、プロジェクトがこのターゲットを含む場合にソリューション全体でビルドを実行すると、ProjectC が再構築されますが、AfterBuildこのプロジェクトをビルドから除外すると、[正しく] は、ProjectC の再構築をトリガーしません (そして、ProjectCのすべての依存関係の再構築は重要です)。これは、この場合、TeamBuild またはその他のコマンドライン MSBuild 呼び出しのコンテキストでは発生しない VS 固有の策略である可能性があります (ただし、最も一般的な使用法は VS 経由であるため、いずれかの方法でこれを解決する必要があります)。

依存プロジェクト (および一般的なソリューションの残りの部分) はすべて VS と対話的に作成されているため、ProjectRefences には相対パスなどが含まれています。これが問題を引き起こす可能性があるという言及を見てきましたが、理由の完全な説明はありません。 、またはいつ修正されるか、またはそれを回避する方法。言い換えれば、ProjectReference.csproj を手動で編集してパスを絶対パスに変換するなどにはあまり興味がありません。

私がばかげたことをしていて、誰かがすぐにそれが何であるかを指摘する可能性は十分にありますが (それは素晴らしいことです)、/v:diag出力などを熟読するのに多くの時間を費やしたことを確認してください (ただし、から再現を構築しようとしたことはありません)ゼロから - これは比較的複雑な全体的なビルドのコンテキストにあります)