현재 코드를 .\Release
폴더로 컴파일하는 웹 배포 프로젝트를 설정했습니다. 빌드가 끝나면 다른 컴퓨터로 파일을 복사하려고합니다 (어느 디렉토리를 빌드 했든간에 삭제 된 다음 다시 작성되기 때문에).웹 배포 프로젝트 - 빌드 후 파일 복사
다음과 같이 설정 복사 할 파일을 정의하는 ItemGroup :
<ItemGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
<ReleaseFiles Include=".\Release\**\*" />
<OverrideFiles Include="..\website\App_Code\override\site.com\**\*" />
</ItemGroup>
'웹 사이트는'여러 사이트에 사용되는 코드이므로, 솔루션 내 설정 여러 웹 배포 프로젝트가있다.
<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는 복사되지 않습니다, 그것의 원인이 될 수있는 일 :
그런 다음, 나는 파일을 복사 할 AfterBuild 목표를 가지고? 내가 .\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