我正在尝试使用 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>
顺便说一句,我也尝试了这些帖子,这些帖子不起作用:
- 使用
.wpp.targets
文件:从部署中排除文件和文件夹 - 使用
Web Deploy Profile
:从 Azure 包中排除不需要的二进制文件 - 使用
ExcludeFilesFromDeployment
或ExcludeFoldersFromDeployment
: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>
您可以根据需要扩展它。不会发布目录中排除的文件。