MSBuild ファイルのコピーを作成するNAntタスクがあります。コピーは、オリジナル以外のディレクトリにあります。
ソース ファイルは、元の場所に残す必要があります。したがって、NAnt の<style>
タスクを使用して、MSBuild ファイルで XSLT を実行しています。<Compile/>
要素をサブツリーに置き換え<Compile><Link/></Compile>
ます (読みやすくするために属性を省略しています)。
次の問題が発生しました。結果の MSBuild ファイルで、要素のInclude
属性は、MSBuild ファイルの新しい場所からソース ファイルへの相対パスを受け取る必要があります。Compile
元の MSBuild ファイルにはファイルへの相対パスが含まれているため、実際に探しているのは、新しい MSBuild ファイルの場所から元の MSBuild ファイルの場所への相対パスです。
使用方法は知っているが避けたい回避策:
- カスタム NAnt タスク
- 部分文字列を使用してディレクトリ パス (NAnt ベース ディレクトリ) の相互プレフィックスを削除する
もっと良い方法はありますか?おそらくNAnt関数、またはこれを達成するためにいくつかのNAnt関数を組み合わせて使用 する独創的な方法?