【问题标题】:How can I exclude files from Visual Studio, but still deploy them upon publishing?如何从 Visual Studio 中排除文件,但在发布时仍部署它们?
【发布时间】:2019-09-07 04:04:21
【问题描述】:

我们在 Visual Studio 2019 中遇到严重的减速问题,部分原因是我们的 wwwroot 文件夹中包含大量内容文件夹(约 12,000 个文件)。此内容很少更改,但当我们执行不需要的“在文件中查找...”等操作时,它最终会被搜索,并最终减慢诸如添加/重命名类等正常操作。

有什么方法可以将内容保留在源代码管理中,将其从 Visual Studio 中排除,但在我们发布时仍然可以部署它?

我无法确定这是否可能是使用 DefaultItemExcludes 等设置或 ItemGroup 元素上的各种选项来编辑 csproj 文件。

【问题讨论】:

标签: visual-studio asp.net-core visual-studio-2019 csproj


【解决方案1】:

以下是我们为(希望)为我们解决此问题所做的工作:

  1. 在 PropertyGroup 中的 WebApp.csproj 文件中添加了以下行:

    <ProjectGroup>
        <DefaultItemExcludes>$(DefaultItemExcludes);wwwroot\hugecontentfolder\**</DefaultItemExcludes>
    </ProjectGroup>
    
  2. 巨大的内容文件夹保留在源代码控制中,这简化了事情,因为我们需要在本地提供这些文件以进行开发

  3. 我们使用新任务更新了 Azure DevOps 管道,以将该文件夹的内容从源代码管理复制到构建工件暂存目录

  4. 更新了 Dotnet Publish Azure Devops 任务,不再压缩它的输出

  5. 另一个新的 Azure DevOps 任务将构建工件暂存目录(现在具有非压缩的 dotnet 发布输出,以及正确位置的巨大内容文件夹输出)存档到 zip 文件中以进行发布。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多