Dotnet Publish не будет копировать файлы с задачей копирования - PullRequest
0 голосов
/ 12 декабря 2018

Я пытаюсь настроить мой *.pubxml профиль ASP.NET Core проекта.Чтобы выяснить, как это на самом деле работает, я попытался скопировать пару случайных *.log файлов из одного каталога в другой.Однажды мне как-то удалось это сделать, но я не знаю, что я сделал, и теперь я застрял.Это не будет копировать файлы.

Я запускаю этот профиль с

dotnet publish MyCoolProject.csproj /p:PublishProfile=\Properties\PublishProfiles\TestProfile.pubxml

, когда я запускаю его с -v diag > pubxml.log, он создает большой файл журнала 25 MB, и я вижу все файлы *.log, которые мне нужныскопировать туда, как:

   MyFiles
       c:\temp\test1.log
       c:\temp\test2.log

, но не скопировать их.

Это мой профиль:

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <WebPublishMethod>FileSystem</WebPublishMethod>
    <PublishProvider>FileSystem</PublishProvider>
    <LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
    <LastUsedPlatform>Any CPU</LastUsedPlatform>
    <SiteUrlToLaunchAfterPublish />
    <LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
    <ExcludeApp_Data>False</ExcludeApp_Data>
    <ProjectGuid>ec190b7a-d5b4-43d3-a729-75e272037c05</ProjectGuid>
    <publishUrl>c:\temp\bin\</publishUrl>
    <DeleteExistingFiles>False</DeleteExistingFiles>
    <TargetFramework>net47</TargetFramework>
    <RuntimeIdentifier>win81-x64</RuntimeIdentifier>
  </PropertyGroup>

  <ItemGroup>
    <MyFiles Include="c:\temp\*.log" />
  </ItemGroup>

  <Target Name="CopyFiles">
    <Copy SourceFiles="@(MyFiles)" DestinationFolder="c:\temp\test">
      <Output
          TaskParameter="CopiedFiles"
          ItemName="test" />
    </Copy>    
  </Target>    

</Project>

Чего мне здесь не хватает?

1 Ответ

0 голосов
/ 13 декабря 2018

Для запуска Target в FolderProfile.pubxml попробуйте указать такие условия, как BeforeTargets или AfterTargets.

<ItemGroup>
    <MyFiles Include="c:\temp\*.log" />
</ItemGroup>

<Target Name="CopyFiles" BeforeTargets="BeforePublish">
    <Copy SourceFiles="@(MyFiles)" DestinationFolder="c:\temp\test">
    <Output
        TaskParameter="CopiedFiles"
        ItemName="test" />
    </Copy>
</Target>
...