排除文件夹从部署在发布配置文件中不起作用



我正在尝试使用 ExcludeFolderFromDeployment 排除发布配置文件中的文件夹,但在发布到 azure-app Service 时它没有排除 wxcludud

文件夹位置:A\B\C\文件夹名称

如果有人可以提供帮助,请告诉我!!

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

Visual Studio 2017 + ASP.NET core 2 + Azure App Service。

试试这个:

https://learn.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文件:从部署中排除文件和文件夹
  2. 使用 Web Deploy Profile:从 Azure 包中排除不需要的二进制文件
  3. 使用ExcludeFilesFromDeploymentExcludeFoldersFromDeployment:Web 部署:通过 Web 应用程序的项目文件排除文件和文件夹

通过所有这些方法,即使遵循这篇文章,也不能排除web.config:使用 Visual Studio 2013 发布时如何排除 web.config?

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

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

排除文件或文件夹的另一个选项是使用 PublishIgnore NuGet 包。Web 发布中介绍了此选项,这是一种更简单的方法,用于排除在 .NET Web 开发和工具博客上发布的文件/文件夹。

若要从 Blazor 托管的应用(如 PWA)中排除文件夹,需要将排除项添加到客户端项目,而不是服务器

也就是说,您有一个解决方案,其中包含一个名为 Server 的项目和一个名为 Client.
的项目Client.csproj 应包含排除项,例如:

    <ItemGroup>
        <Content Update="wwwrootimagescontents**" CopyToPublishDirectory="Never" />
    </ItemGroup>

现在,由 Server.pubxml 创建的wwwroot文件夹将不包含images/contents文件夹和 sulfolder。

我也在为这个问题而苦苦挣扎,在查看了@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>

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

最新更新