В файле Misrosoft.WebDeployments.targets (который импортирует файл проекта веб-развертывания) есть цель _CopyBeforeBuild, которая копирует все исходные файлы, когда свойство ExcludeFromBuild не пустое или EnableCopyBeforeBuild указано:
...
<CopyBeforeBuildTargetPath>$(MSBuildProjectDirectory)\Source</CopyBeforeBuildTargetPath>
...
<Target Name="_CopyBeforeBuild" Condition=" '$(EnableCopyBeforeBuild)' == 'true' or '@(ExcludeFromBuild)' != '' ">
...
<RemoveDir Directories="$(CopyBeforeBuildTargetPath)"/>
<MakeDir Directories="$(CopyBeforeBuildTargetPath)"/>
<Copy SourceFiles="@(_WebFiles)" DestinationFolder="$(CopyBeforeBuildTargetPath)\%(_WebFiles.SubFolder)%(_WebFiles.RecursiveDir)" />
...
</Target>
скрипт создает исходный каталог и не удаляет его.Этот каталог меня тоже раздражает, поэтому я добавляю следующие строки в файл проекта веб-развертывания:
<Target Name="AfterBuild">
<RemoveDir Directories="$(CopyBeforeBuildTargetPath)" />
</Target>