1

プロジェクトをビルドするための MSBuild タスクを作成しましたが、さまざまな理由から NAnt に切り替えたくありません。

NAnt の MSBuild の XmlMassUpdate に相当するタスクはありますか? 可能であれば、XmlMassUpdate で使用したのと同じ xml 置換ファイルを使用したいと考えています。

(XmlMassUpdate の詳細については、stackoverflow のサイトで見つけた短い使用法を次に示します: MSBuild の例)

xmlPeek/xmlPoke タスクを試してみましたが、置換ファイルでツリー パスを反復させることができませんでした...

4

2 に答える 2

0

Nantでファイルをコピーすると、ファイル内のプロパティを展開できます。プロパティごとに異なる更新を作成する代わりに、nantvarsを含むテンプレートファイルを作成できます。..。

        <fileset basedir="${config.dir}\NantTemplates">
            <include name="**\*" />
            <exclude name="*.template"/>                
        </fileset>
        <filterchain>
            <expandproperties/>
        </filterchain>

于 2011-02-10T16:49:15.373 に答える
0

tigris の実装のコードを NAnt で動作するように調整するだけでよいことがわかりました。

解決策は少し長いので、ここに全体を投稿するのは意味がありませんが、これらは手順になります...

Tigris MsBuildTasks サイトには、すべてのタスクのバイナリとソース コードの両方があります。

XmlMassUpdate の実装を見つけて、それがどのように行われるかを確認し、次のようにタスク ライブラリに NAnt タスク クラスを作成します。

[TaskName("XmlMassUpdate")]
public class XmlMassUpdate : Task
{
    [TaskAttribute("ContentFile", Required=true)]
    public string ContentFile { get; set; }
    //...
    protected override void ExecuteTask()
    {
        // ...
    }
    //other methods
}

あとは、ライブラリ dll を nant の bin にコピーするだけで、それを使用できます...お楽しみください

于 2010-03-25T21:16:58.627 に答える