3

現在、Webプロジェクトのビルドサーバーをセットアップ中です。Web配置プロジェクトを使用して配置可能なパッケージを作成していて、簡単なファイル管理を行いたい(webDeploy.config-> web.configをコピーして.csprojファイルを削除する)。

私のターゲットは次のようになります。

<Target Name="AfterBuild">      
    <Delete Files="$(OutputPath)\*.csproj" />
</Target>

ただし、WDPの出力を調べると、これがわかります。

Target "AfterBuild" in file "C:\project\Deployment\Project.Deployment.wdproj": 
    Task "Delete"
        File ".\Debug\*.*" doesn't exist. Skipping.   
    Done executing task "Delete". 
Done building target "AfterBuild" in project "Project.Deployment.wdproj".

展開パスには、実際にデバッグパスが含まれています。私は何が間違っているのですか?

4

2 に答える 2

7

ワイルドカードを使用する場合は、アイテムリストで使用する必要があります。アイテムリストはあなたのためにワイルドカードを拡張するのを引き受けます。だからあなたの場合:

<Target Name="AfterBuild">      
    <ItemGroup>
        <FilesToDelete Include="$(OutputPath)\*.csproj" />
    </ItemGroup>
    <Delete Files="@(FilesToDelete)" />
</Target>
于 2010-01-28T22:46:25.180 に答える
0

自分で試してみてびっくりしましたが、説明は簡単です。ワイルドカードは使用できませんMSBuild Team Blog)。

サンプル:

<ItemGroup>
    <ProjectConfigFiles Include="$(OutputPath)\*.csproj" />
</ItemGroup>

<Target Name="AfterBuild">      
    <Delete Files="@(ProjectConfigFiles)" />
</Target>
于 2010-01-28T17:34:57.630 に答える