【问题标题】:After Publish Copy event in VS2019, same functionality as post build event在 VS2019 中发布复制事件之后,与构建后事件相同的功能
【发布时间】:2021-05-03 20:37:39
【问题描述】:

我正在尝试复制我使用的模板文件文件夹(大约 9000 个文件和 ~1gb) 通过 VS2019 发布时将 .net Web 应用程序添加到发布输出目录。我在那里有一个 Post Build 脚本,可以在构建时将它们复制到输出(在本地构建时有效),但是当复制文件以进行发布时,这一步似乎被跳过了。

有什么想法可以添加这些文件以便它们与应用程序的其余部分一起发布吗?它有大量文件,所以当我尝试将它们添加到 VS 并更改“始终复制到输出”时,VS 崩溃了。

【问题讨论】:

  • 我想你会发现这篇文章很有用。您需要自定义发布配置文件 (*.pubxl)。这是一个示例,其中开发人员在网站发布时尝试将其他文件添加到目标。链接:stackoverflow.com/questions/14714782/…
  • 第二点,“始终复制到输出”如果您可以将文件“分块”成 25 - 100 个项目项的集合(取决于您的可用 RAM),则效果很好。当我用更大的块尝试它时 VS 挂起。当然。

标签: c# copy publish


【解决方案1】:

Microsoft 在这里有一些关于修改发布配置文件以拾取和部署额外文件的文档。基本上将此添加到特定发布配置文件的 .pubxml 文件中,额外的文件将被复制。

<Target Name="CustomCollectFiles">
    <ItemGroup>
      <_CustomFiles Include="..\ExtraFiles\**\*" />
      <FilesForPackagingFromProject Include="%(_CustomFiles.Identity)">
        <DestinationRelativePath>%(RecursiveDir)%(Filename)%(Extension)</DestinationRelativePath>
      </FilesForPackagingFromProject>
    </ItemGroup>
  </Target>
  <PropertyGroup>
    <CopyAllFilesToSingleFolderForPackageDependsOn>
      CustomCollectFiles;
      $(CopyAllFilesToSingleFolderForPackageDependsOn);
    </CopyAllFilesToSingleFolderForPackageDependsOn>

    <CopyAllFilesToSingleFolderForMsdeployDependsOn>
      CustomCollectFiles;
      $(CopyAllFilesToSingleFolderForMsdeployDependsOn);
    </CopyAllFilesToSingleFolderForMsdeployDependsOn>
  </PropertyGroup>

https://docs.microsoft.com/en-us/aspnet/web-forms/overview/deployment/visual-studio-web-deployment/deploying-extra-files

【讨论】:

  • MS 文章中缺少(或不清楚)一个细节:XML 元素 必须根据您的部署方法命名。例如,对于 FileSystem 发布,您将声明 而不是
猜你喜欢
  • 1970-01-01
  • 2010-10-21
  • 2015-06-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-09
  • 1970-01-01
相关资源
最近更新 更多