dotnet publish 不会使用复制任务复制文件

dotnet publish won't copy files with copy task

我正在尝试自定义 ASP.NET Core 项目的 *.pubxml 配置文件。为了了解它的实际工作原理,我尝试将几个随机 *.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>

我在这里错过了什么?

对于FolderProfile.pubxml中的运行Target,尝试指定BeforeTargetsAfterTargets等条件。

<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>