0

ItemGroup が更新されていないため、存在しないファイルをコピーしようとすると、エラーがスローされるという問題があります。

  <ItemGroup>
    <Others Include=".\Folder\**\*" />
  </ItemGroup>

でファイルを削除してFolderも、ファイルのコピーが試行され、Visual Studio のファイル リストに引き続き表示されます。一部のファイルが変更された場合、またはさらに良いことに、Visual Studio がプロジェクトの再読み込みを強制することは理にかなっています: サイレントに更新します。

4

2 に答える 2

0

それがmsbuildの仕組みです。理由なしに ItemGroup を再評価することはなく、すべてのグローバル スコープの評価は、ターゲットが実行される前に行われます。ターゲットスコープのアイテムは、ターゲットが実行されたときに評価されます。

itemgroup 要素の Condition='Exists(...)' のように、コピーする前に簡単な条件チェックを使用できます。または、それがあなたの管理下にある場合 - itemgroup を別の名前で再作成し、現在存在するアイテムのみを含めます。どちらの方法も単純で有効なシナリオです。スクリプトまたは何を達成しようとしているのかについてさらに詳細を追加すると、より具体的な回答を得るのに役立ちます。

于 2013-09-12T11:14:29.197 に答える