【问题标题】:ExcludeFoldersFromDeployment not working in publish profileExcludeFoldersFromDeployment 在发布配置文件中不起作用
【发布时间】:2017-01-09 04:33:17
【问题描述】:

我正在尝试使用 ExcludeFoldersFromDeployment 在发布配置文件中排除一个文件夹,但在发布到 azure-app 服务时它没有 wxcluding

文件夹位置:a\b\c\文件夹名

如果有人可以帮忙,请告诉我!

【问题讨论】:

  • 您使用的是哪个版本的 TFS?您是否使用 XAML 构建或 v-next 构建发布到 azure-app 服务?您的构建定义看起来如何?如果您在没有 TFS 的情况下在本地发布,ExcludeFoldersFromDeployment 是否有效?

标签: visual-studio tfs


【解决方案1】:

添加一个额外的答案,以防有人对不同的 EXCLUDE 方法感到困惑,如果您在此环境中工作:

Visual Studio 2017 + ASP.NET core 2 + Azure 应用服务。

试试这个:

https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/visual-studio-publish-profiles?view=aspnetcore-2.1#exclude-files

编辑YourProject.csproj文件,

<ItemGroup>
  <Content Update="wwwroot/content/**/*.txt" CopyToPublishDirectory="Never" />
</ItemGroup>

顺便说一句,我也试过这些帖子,但不起作用:

  1. 使用.wpp.targets 文件:Excluding Files and Folders from Deployment
  2. 使用Web Deploy Profile:Exclude unwanted binaries from azure package
  3. 使用ExcludeFilesFromDeployment或ExcludeFoldersFromDeployment:Web Deployment: Excluding Files and Folders via the Web Application’s Project File

通过所有这些方法,web.config 无法被排除在外,即使关注了这篇文章: How to exclude web.config when publishing with Visual Studio 2013?

【讨论】:

    【解决方案2】:

    根据this 文章,您需要编辑 .pubxml 或 .wpp.targets 文件并添加 ExcludeFilesFromDeployment 元素或 ExcludeFoldersFromDeployment 元素(或两者) 在 PropertyGroup 元素中。检查您是否有正确的设置,如示例所示:

    <PropertyGroup">
      <ExcludeFilesFromDeployment>
        File1.aspx;File2.aspx
      </ExcludeFilesFromDeployment>
      <ExcludeFoldersFromDeployment>
        Folder1;Folder2
      </ExcludeFoldersFromDeployment>
    </PropertyGroup> 
    

    排除文件或文件夹的另一个选项是使用 PublishIgnore NuGet 包。此选项在 .NET Web 开发和工具博客上的 Web Publishing a simpler way to exclude files/folders from being published 中进行了说明。

    【讨论】:

    • 也试过了,我可以从这种方法中排除其他文件夹,但只能使用一个文件夹。寻找是否有任何其他问题,因为 ExcludeFilesFromDeployment 正在使用其他文件夹,期望一个。
    • 请在找出根本原因后发布答案。
    • 您找到特定文件夹的根本原因了吗?
    【解决方案3】:

    我也在努力解决这个问题,在查看@Dongdong 的答案后,我得出以下结论: 编辑YourProject.csproj 文件并包含以下内容

      <ItemGroup>
          <Content Update="web.Debug.config;web.Release.config;web.QA.config;appsettings.Debug.json;appsettings.Release.json;" CopyToPublishDirectory="Never" />
      </ItemGroup>
    

    你也可以应用一些条件。

      <ItemGroup>
          <Content Condition="'$(Configuration)|$(Platform)'=='QA|AnyCPU'" Update="appsettings.json;" CopyToPublishDirectory="Never" />
      </ItemGroup>
    

    您可以根据需要扩展它。目录中排除的文件不会被发布。

    【讨论】:

    • 这适用于文件,而不是文件夹。
    猜你喜欢
    • 2022-07-08
    • 2017-06-17
    • 1970-01-01
    • 2013-01-01
    • 1970-01-01
    • 2011-05-10
    • 2020-11-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多