Нужна помощь в понимании свойства CustomFilesToInclude в MSbuild
У меня проблема с копированием html-файлов для развертывания местоположения с использованием MSBuild.
Пожалуйста, помогите мне понять следующее:
<Target Name="CustomCollectFiles">
<ItemGroup>
<FilesForPackagingFromProject Include="@(CustomFilesToInclude)">
<DestinationRelativePath>%(CustomFilesToInclude.Dir)\%(RecursiveDir)%(Filename)%(Extension)</DestinationRelativePath>
</FilesForPackagingFromProject>
</ItemGroup>
</Target>
<Target Name="CustomCollectFiles">
<ItemGroup>
<FilesForPackagingFromProject Include="@(CustomFilesToInclude)">
<DestinationRelativePath>%(CustomFilesToInclude.Dir)\%(RecursiveDir)%(Filename)%(Extension)</DestinationRelativePath>
</FilesForPackagingFromProject>
<FilesForPackagingFromProject Include="@(CustomFilesToIncludeSkipExistingCheck)">
<DestinationRelativePath>%(CustomFilesToIncludeSkipExistingCheck.Dir)\%(RecursiveDir)%(Filename)%(Extension)</DestinationRelativePath>
</FilesForPackagingFromProject>
</ItemGroup>
<Error Text="Custom file exists in project files already: %(CustomFilesToInclude.FullPath)"
Condition="Exists('$(MainProjectRootDir)\%(CustomFilesToInclude.Dir)\%(RecursiveDir)%(Filename)%(Extension)')" />
</Target>
<PropertyGroup>
<CopyAllFilesToSingleFolderForPackageDependsOn>
DefineCustomFiles;
CustomCollectFiles;
$(CopyAllFilesToSingleFolderForPackageDependsOn);
</CopyAllFilesToSingleFolderForPackageDependsOn>
</PropertyGroup>
1 ответ
Я никогда не использовал MSDeploy. Но я бы сказал, что он просто добавляет метаданные DestinationRelativePath к элементу и добавляет целевые значения DefineCustomFiles и CustomCollectFiles для вызова перед существующими целями CopyAllFilesToSingleFolderForPackageDependsOn. Я вижу, что он может быть использован Microsoft.Web.Publishing.targets.
Пример кода, который вы предоставили, не является полным, чтобы сказать, что происходит.
Это выглядит так: http://sedodream.com/2010/03/10/WebDeploymentToolIncludingOtherFiles.aspx