visual-studio - 使用 ASP.NET Core 3.1 从发布中排除非缩小文件
问题描述
目前我正在使用此发布配置文件 (.pubxml) 进行发布:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<WebPublishMethod>FileSystem</WebPublishMethod>
<PublishProvider>FileSystem</PublishProvider>
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<SiteUrlToLaunchAfterPublish />
<LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
<ExcludeApp_Data>False</ExcludeApp_Data>
<TargetFramework>netcoreapp3.1</TargetFramework>
<ProjectGuid>17e8801d-27bf-4b5a-a0f5-125b0e52dde9</ProjectGuid>
<SelfContained>false</SelfContained>
<publishUrl>C:\000\Test</publishUrl>
<DeleteExistingFiles>True</DeleteExistingFiles>
<EnvironmentName>Production</EnvironmentName>
</PropertyGroup>
<ItemGroup>
<MaxifiedJs Include="wwwroot/**/*.js" Exclude="wwwroot/**/*.min.js" />
<MaxifiedCss Include="wwwroot/**/*.css" Exclude="wwwroot/**/*.min.css" />
<Content Update="@(MaxifiedJs)" CopyToPublishDirectory="Never" />
<Content Update="@(MaxifiedCss)" CopyToPublishDirectory="Never" />
</ItemGroup>
</Project>
它运行良好,并从输出文件夹中删除了所有未缩小的文件。但是当文件没有缩小版本时会出现问题。在这种情况下,没有发布任何内容。仅当文件具有缩小版本时,如何使此规则有效?如果没有缩小文件,则发布常规 .js 或 .css 我在官方文档或 StackOverflow 中没有找到任何解决方案。
解决方案
使用 ASP.NET Core 3.1 从发布中排除非缩小文件
据我所知,发布时不可能保留单个 js 或 css(没有缩小文件)文件。
要确定两个相似的文件,需要捕获相同的部分进行比较,但msbuild中的捕获仅针对属性。属性只能被以前的值覆盖。
建议
为此,您应该使用您的函数,然后手动将单个 js 复制到 Publish 文件夹中。
或者只是复制所有文件,然后删除非缩小文件。
推荐阅读
- visual-studio-2019 - 如何在 vs2019 中正确重命名 .razor 文件?
- spring - Spring security:输入正确的凭据后无法访问目标页面
- jwt - Docusign API 的 JWT 问题
- c - 为什么在下面的c语句中,num值可以改变
- python - 使用另一个数据框列表过滤数据框列表
- javascript - React Native:如果给定值已经存在,是否有一种简单的方法来更新所有对象值?
- python - 使用经过训练的 Keras 模型对新的 csv 数据进行预测
- python - 如何比较两次
- java - 如何在java + SpringBoot中生成带有转义字符“\ n”的JSON
- java - 在另一个 java method1 中调用 java method2 并且不要等待 method2 响应并继续执行