目前我已经建立了一个将代码编译到.\Release
文件夹中的 Web 部署项目。构建后,我想将文件复制到另一台机器上(因为您构建到的任何目录都被删除然后重新创建)。
用于定义要复制哪些文件的 ItemGroup 设置如下:
<ItemGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
<ReleaseFiles Include=".\Release\**\*" />
<OverrideFiles Include="..\website\App_Code\override\site.com\**\*" />
</ItemGroup>
“网站”是用于多个站点的代码,因此在解决方案中设置了多个 Web 部署项目。
然后,我有 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
问题是,它以前工作过。