首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >复制以发布PreBuild事件的目录输出

复制以发布PreBuild事件的目录输出
EN

Stack Overflow用户
提问于 2019-02-15 03:34:46
回答 2查看 4K关注 0票数 1

在我的csproj中,我有一个pre-build事件,我在其中运行Vue js项目的构建。它输出到一个"dist“文件夹,并由一个cshtml文件加载。

在csproj文件中,我有一个对dist文件夹的引用,并告诉它复制到发布目录:

代码语言:javascript
复制
<ItemGroup>
  <Content Include="dist\**" CopyToPublishDirectory="Always" />
</ItemGroup>

在发布时,MsBuild似乎试图复制dist文件夹中的文件,这些文件在预构建事件开始之前就已经存在。有没有办法让MsBuild在预编译事件之后复制文件夹的内容?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-02-17 00:41:07

为了支持所有可能的发布机制,工具(VS等)支持,我建议将其设置为类似于收件箱angular模板的工作方式:

代码语言:javascript
复制
<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>
票数 7
EN

Stack Overflow用户

发布于 2019-02-16 07:32:50

您可以添加一个步骤,使用Copy task手动执行此操作

代码语言:javascript
复制
<Target Name="MyCopyStep" AfterTargets="AfterPublish">
  <ItemGroup>
     <MyDistFiles Include="dist\**" />
  </ItemGroup>
  <Copy SourceFiles="@(MyDistFiles)" DestinationFiles="@(MyDistFiles->'$(PublishDir)\dist\%(RecursiveDir)%(Filename)%(Extension)')"/>
</Target>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54697851

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档