3

基本的に、私がやりたいことは、ディレクトリにワイルドカードを使用することです。

ビルド後のイベントは PageComponents プロジェクトにあります。

ページコンポーネント
    ウィジェットテンプレート
        ウィジェットテンプレート1
            ユーザーコントロール1
        WidgetTemplate2
            ユーザーコントロール2

そして、すべてのユーザー コントロールを Web プロジェクトにコピーしたいのですが、別の相対的な場所にコピーします。

ウェブ
    Ctrlプレゼンテーション
        ユーザーコントロール1
        ユーザーコントロール2

WidgetTemplates ディレクトリをワイルドカード化しようとしました:

xcopy "$(ProjectDir)WidgetTemplates\*\*.ascx" "$(SolutionDir)Client.Web\CtrlPresentation" /y /s

しかし、これはすべて失敗します。それで、私は次のことを試しました:

xcopy "$(ProjectDir)WidgetTemplates\*.ascx" "$(SolutionDir)Client.Web\CtrlPresentation" /y /s

ただし、これにより、個々の WidgetTemplate フォルダーもコピーされます。

私がやろうとしていることを達成する方法はありますか?

4

1 に答える 1

0

タスクを使用してみてください。

<ItemGroup>
    <MySources Include="$(ProjectDir)WidgetTemplates\**\*.ascx" />
</ItemGroup>
<Target Name="CopyOver">
    <Copy SourceFiles="@(MySources)" DestinationFiles="@(MySources->'$(SolutionDir)Client.Web\CtrlPresentation\%(FileName)%(Extension)')">
</Target>

ビルド後にこのターゲットを使用します

<BuildDependsOn>
    $(BuildDependsOn);
    CopyOver
</BuildDependsOn>
于 2014-01-23T10:04:15.510 に答える