現在、私は.\Release
フォルダにコードをコンパイルするWeb配置プロジェクトを設定しました。ビルド後、ファイルを別のマシンにコピーしたいのです(ビルドするディレクトリが削除されてから再作成されるためです)。Web配置プロジェクト - ビルド後のファイルのコピー
次のように設定されているコピーするファイル定義するためのItemGroup:
<ItemGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
<ReleaseFiles Include=".\Release\**\*" />
<OverrideFiles Include="..\website\App_Code\override\site.com\**\*" />
</ItemGroup>
のウェブサイトには、「複数のサイトのために使用されるコードであるため、ソリューション内で設定し、いくつかのWebデプロイメントプロジェクトがあります。
はその後、私は、ファイルをコピーするAfterBuild目標を持っています。しかし、ReleaseFilesは、その原因となることができるか、コピーされません
<Target Name="AfterBuild" Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<Copy SourceFiles="@(ReleaseFiles)" ContinueOnError="true" SkipUnchangedFiles="true" DestinationFiles="@(ReleaseFiles->'\\server\web\site.com\%(RecursiveDir)%(Filename)%(Extension)')" />
<Copy SourceFiles="@(OverrideFiles)" DestinationFiles="@(OverrideFiles->'\\server\web\site.com\%(RecursiveDir)%(Filename)%(Extension)')" />
</Target>
?私はエラー.\TempBuildDir\folder\subfolder - The process cannot access the file because it is being used by another process.
を持っていましたが、その都度、folder\subfolder
が異なるかもしれませんが、そのメッセージが表示されなくてもファイルはまだコピーされません。
問題は、以前はうまくいきました。
CreateItemは、ItemGroupまたはTargetの下にありますか。 – SamWM
コピータスクの前に 'AfterBuild'ターゲットに入れてください。 –
それは私のためにそれを修正した – SamWM