В момента съм създал проект за уеб разгръщане, който компилира код в папката .\Release
. След компилацията искам да копирам файловете на друга машина (защото която и директория да компилирате, се изтрива и след това се създава отново).
ItemGroup за определяне кои файлове да се копират се настройва, както следва:
<ItemGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
<ReleaseFiles Include=".\Release\**\*" />
<OverrideFiles Include="..\website\App_Code\override\site.com\**\*" />
</ItemGroup>
„уебсайт“ е код, който се използва за множество сайтове, така че в решението има няколко проекта за уеб внедряване.
След това имам целта AfterBuild за копиране на файловете:
<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>
ReleaseFiles обаче не се копират, каква може да е причината за това? Имах грешка .\TempBuildDir\folder\subfolder - The process cannot access the file because it is being used by another process.
, където folder\subfolder
може да бъде различно всеки път, но дори когато това съобщение не се появи, файловете пак не се копират.
Проблемът е, че е работил и преди.