我已将xproj
个核心项目迁移到csproj
。一切都运行良好,但我仍然遇到发布配置问题。根据文件:
https://docs.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
文件复制到发布文件夹。我尝试了不同的订单,没有运气。
如何从发布中排除某些文件?
答案 0 :(得分:26)
简答:请改用以下代码:
<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包含默认项目的设置。这些是项目文件夹中项目的全局,应始终进行编译,嵌入,复制到输出等。有一些设置可以控制它,但它们没有很好地记录。
如果要更改默认glob中已包含的项目的metadata value(例如CopyToPublishDirectory设置),则必须使用“Update”而不是“Include”。
要了解幕后发生的情况,以下是Microsoft.NET.Sdk和Microsoft.NET.Sdk.Web的默认项目设置