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
,尝试指定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>
我正在尝试自定义 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
,尝试指定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>