将未缩小的文件排除在ASP.NET Core 3.1的发布范围之外

问题描述 投票:0回答: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中找到任何解决方案。

visual-studio asp.net-core msbuild webdeploy
1个回答
0
投票

从ASP.NET Core 3.1的发布中排除未缩小的文件

据我所知,在发布时无法保留单个js或css(无缩小文件)文件。

要确定两个相似的文件,您需要捕获相同的部分以进行比较,但是msbuild中的捕获仅用于属性。属性只能被先前的值覆盖。

建议

要实现这一点,您应该使用函数,然后将单个js手动复制到Publish文件夹中。

或者只是复制所有文件,然后删除未缩小的文件。

© www.soinside.com 2019 - 2024. All rights reserved.