問題タブ [msbuild-propertygroup]
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.
msbuild - Msbuildは、宛先パラメーターのリストに基づいていくつかの場所にコピーしますか?
いくつかの場所にコピーしたいディレクトリを取得しました。
私が持っていると言う
- home.aspx
コピーしたい
- abc / home.aspx
- def / home.aspx
- ghi / home.aspx
だから私にとって2つの質問:
- リストabc、def、ghiを定義するにはどうすればよいですか?
- このリストの各要素を使用してコピータスクを実行するにはどうすればよいですか?
msbuild - ある MsBuild タスクから別の MsBuild タスクにプロパティ グループ値を渡す
1 つのビルド ターゲットで定義された値を他のターゲットで有効にするにはどうすればよいですか? PropertyGroup が、ここで使用する必要がある書き込み MsBuild エンティティではない場合、何ですか? ReleaseDir は「Package」ターゲットでは正常に出力されますが、「DoPackage」では空です
msbuild - MSBuild:セミコロンで区切られたプロパティの解析を制御する方法
単一のプロパティにセミコロンが含まれている場合、MSBuildは、アイテムグループ内で使用されると、プロパティをプロパティのリストに自動的に解析します。これが私のプロジェクトの抜粋です。
タスクが@(InstallShieldProperties)アイテムグループを消費すると、MSBuildは、セミコロンが含まれているため、ConnectionStringプロパティをサブセットプロパティのリストに解析します。
アイテムグループの区切り文字を変更できることはわかっていますが、違いはありません。カスタムタスク内でstring[]配列を操作しないようにしています。
msbuild - MSBuild:アスタリスクと奇妙なItemGroupは動作を除外します
ItemGroup
特定の名前のファイルを除外しながら(拡張子に関係なく)、特定のディレクトリ内のすべてのファイルから構築しようとするスクリプトがあります。
除外するファイルのリストには、最初はファイル拡張子が含まれています。私はCommunity Tasksを使用RegexReplace
して、拡張子をアスタリスクに置き換えています。次に、このリストをアイテムのExclude
属性で使用します。リストが正しいように見えても、何らかの理由でファイルが適切に除外されません。
原因を見つけるために、2つのタスクを持つテストスクリプト(以下)を作成しました。最初のスクリプトは、2つの異なる方法でファイルパターンのリストを使用して2つのプロパティを初期化します。2番目のタスクは、属性でこれらのプロパティの両方を使用した結果のプロパティとファイルの両方を出力しExclude
ます。
プロパティの値は同じように見えますが、結果のグループは異なります。これはどのように可能ですか?
出力(わかりやすくするために多少再フォーマット):
両方ExcludeFilesA
を観察し、ExcludeFilesB
同じように見えますが、結果のグループはRemainingFilesA
異なりRemainingFilesB
ます。
RemainingFilesA
最終的には、同じ方法で生成されたパターンを使用してリストを取得したいと思いExcludeFilesB
ます。方法を提案できますか、それとも私のアプローチを完全に再考する必要がありますか?
msbuild - MSBuild:グローバルプロパティを作成する方法は?
MSBuildを実行すると、を使用してコマンドラインで渡されたものはすべて、メインスクリプトから(タスク/p:MyProp=value
を介して)呼び出されたすべてのMSBuildスクリプトからアクセスできます。MSBuild
タスク内のすべてのスクリプトから同様にアクセスできるプロパティを定義するにはどうすればよいですか?
例えば:
このように実行するとmsbuild Script1.proj /p:GlobalProp1=VALUE1
、上記のスクリプトは次の出力を生成します。
Script2.projでGlobalProp2を設定して、次の出力を生成したいと思います。
これは可能ですか?もしそうなら、どのように?
環境変数を使用する提案を見てきましたが、それが役立つ唯一の状況は、変数が親スクリプトに設定され、子スクリプトがExecタスクを使用して呼び出された場合です(そうでない場合、env.variableの変更は無効)。
msbuild - MSBuild で PropertyGroup の子としてカスタム プロパティを追加する方法は?
MSBuild で実行する次のビルド スクリプトがあります。
コマンドラインでスクリプトを開始すると:
コマンドライン出力で次のエラーが発生しました。
これは基本的に次のことを意味します:要素<#text>は不明な子です。
誰かアイデアがありますか?
編集:申し訳ありませんが、スクリプトを完了しました
msbuild - あるプロパティ値を別のプロパティ値の中で使用する可能性はありますか?
私はこのようなことをしたいと思います:
あるプロパティ値を別のプロパティ値として渡します。これを行う方法はありますか?どのように?
msbuild - MSBuildで現在のOSの「ビット」を確認する
実行可能ファイルへのパスをハードコーディングする必要があるビルドスクリプトがあります。パスは次のとおりです。
- C:\ Program Files \ Microsoft Visual Studio 9.0 \ SmartDevices \ SDK \ SDKTools \ cabwiz.exe
これは正常に機能しましたが、現在は64ビットOSで実行しています(ただし、同僚とビルドサーバーは32ビットのままです)。
私はこれになるためのパスが必要です:
- C:\ Program Files (x86) \ Microsoft Visual Studio 9.0 \ SmartDevices \ SDK \ SDKTools \ cabwiz.exe
ただし、他のパスには通常のパスを使用してください。
これが私がそれを設定する方法です:
OS(現在のビルド構成ではない)が64ビットの場合に設定できるように設定できる条件はありますか?
msbuild - MsBuild内のアイテムの評価の範囲と順序
次のコードで、MsBuildがサフィックスメタデータの設定を拒否するのはなぜだろうか。ItemGroup宣言の代わりにCreateItemタスクで動作します(CreateItemはビルド時に計算されるため)が、このコードは「プロパティファイル」にあるため、ここでは実行できません。プロジェクトにはターゲットがなく、単なる束です。私が実際のプロジェクトに含めるプロパティ/アイテムの数。
宛先は適切に構築されていますが、サフィックスメタデータが設定されていません。
今のところ、必要なすべてのプロジェクトで宛先定義を複製しましたが、あまりきれいではありません。誰かがより良い解決策を持っているなら、私は興味があります!