在我的csproj中,我有一个pre-build事件,我在其中运行Vue js项目的构建。它输出到一个"dist“文件夹,并由一个cshtml文件加载。
在csproj文件中,我有一个对dist文件夹的引用,并告诉它复制到发布目录:
<ItemGroup>
<Content Include="dist\**" CopyToPublishDirectory="Always" />
</ItemGroup>在发布时,MsBuild似乎试图复制dist文件夹中的文件,这些文件在预构建事件开始之前就已经存在。有没有办法让MsBuild在预编译事件之后复制文件夹的内容?
发布于 2019-02-17 00:41:07
为了支持所有可能的发布机制,工具(VS等)支持,我建议将其设置为类似于收件箱angular模板的工作方式:
<Target Name="PublishDistFiles" AfterTargets="ComputeFilesToPublish">
<ItemGroup>
<DistFiles Include="dist\**" />
<ResolvedFileToPublish Include="@(DistFiles->'%(FullPath)')" Exclude="@(ResolvedFileToPublish)">
<RelativePath>%(DistFiles.Identity)</RelativePath>
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
</ResolvedFileToPublish>
</ItemGroup>
</Target>发布于 2019-02-16 07:32:50
您可以添加一个步骤,使用Copy task手动执行此操作
<Target Name="MyCopyStep" AfterTargets="AfterPublish">
<ItemGroup>
<MyDistFiles Include="dist\**" />
</ItemGroup>
<Copy SourceFiles="@(MyDistFiles)" DestinationFiles="@(MyDistFiles->'$(PublishDir)\dist\%(RecursiveDir)%(Filename)%(Extension)')"/>
</Target>https://stackoverflow.com/questions/54697851
复制相似问题