如何从Visual Studio中排除文件,但仍在发布时进行部署?

时间:2019-09-06 15:53:35

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

我们在Visual Studio 2019中遇到了严重的减速问题,这在某种程度上是由于我们的wwwroot文件夹中有大量内容文件夹(〜12,000个文件)而导致的。该内容很少更改,但是当我们执行不需要的“查找文件...”等操作时最终会被搜索到,并最终减慢了诸如添加/命名类之类的正常操作。

是否有任何方法可以将内容保留在源代码管理中,从Visual Studio中排除它,但在发布时仍然可以对其进行部署?

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

1 个答案:

答案 0 :(得分:0)

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

  1. 将以下行添加到PropertyGroup中的WebApp.csproj文件中:

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

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

  4. 将“ Dotnet发布Azure Devops”任务更新为不再压缩其输出

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