gpt4 book ai didi

asp.net-core - Visual Studio 2017 csproj 核心文件排除

转载 作者:行者123 更新时间:2023-12-02 09:18:03 25 4
gpt4 key购买 nike

我已将 xproj 核心项目迁移到 csproj。一切正常,但我仍然遇到发布配置问题。基于文档: https://learn.microsoft.com/en-us/dotnet/articles/core/tools/project-json-to-csproj我应该能够在发布期间排除文件。

我已将以下几行添加到 f

<None Include="*.json" CopyToPublishDirectory="Never" />
<None Include="wwwroot\**\*.map;wwwroot\**\*.less;*.pdb" CopyToPublishDirectory="Never" />
<None Include="wwwroot\**\*" CopyToPublishDirectory="PreserveNewest" />

但是 *.map.json.less 文件仍然被复制到发布文件夹。我尝试了不同的顺序,但没有成功。

如何从发布中排除某些文件?

最佳答案

简短回答:使用以下代码片段:

<ItemGroup>
<Content Update="**\*.map;**\*.less;*.json" CopyToPublishDirectory="Never" />
</ItemGroup>

您还可以将这些模式添加到“DefaultItemExcludes”属性中。

<PropertyGroup>
<DefaultItemExcludes>$(DefaultItemExcludes);**\*.map;**\*.less;*.json</DefaultItemExcludes>
</PropertyGroup>

更长的答案:

Microsoft.NET.Sdk 和 Microsoft.NET.Sdk.Web 包含默认项目的设置。这些是项目文件夹中的项目的全局变量,应始终编译、嵌入、复制到输出等。有一些设置可以控制这些,但它们没有很好的记录。

如果您想更改metadata value (例如 CopyToPublishDirectory 设置)对于默认 glob 已包含的项目,您必须使用“更新”而不是“包含”。

要了解幕后发生的情况,以下是 Microsoft.NET.Sdk 和 Microsoft.NET.Sdk.Web 的默认项目设置

https://github.com/dotnet/sdk/blob/dev15.1.x/src/Tasks/Microsoft.NET.Build.Tasks/build/Microsoft.NET.Sdk.DefaultItems.props#L19-L27

https://github.com/aspnet/websdk/blob/rel/vs2017rtw/src/Web/Microsoft.NET.Sdk.Web.ProjectSystem.Targets/netstandard1.0/Microsoft.NET.Sdk.Web.ProjectSystem.props#L25-L40

关于asp.net-core - Visual Studio 2017 csproj 核心文件排除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42803170/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com