减小解压后的 Winui 3 应用程序的大小

问题描述 投票:0回答:1

我有一个 WinUi 3 (c#) 解决方案,其中包含 3 个项目:A、B、C。

A:主应用程序(exe)依赖于B,C。

B:dll 项目依赖于 C。

c:dll 项目。

现在我喜欢将解决方案构建为未打包的应用程序并将其打包到 wix 安装程序中, 所以我想尽可能减少解压应用程序的文件数量。

我在 A 的项目文件中添加了以下属性用于构建。

<WindowsPackageType>None</WindowsPackageType> 

这是构建后的输出文件夹:

B.dll
B.pri
A.deps.json
A.dll
A.exe
A.pri
A.runtimeconfig.json
C.dll
C.pri
WinUI.Icon.dll
WinUI.Token.dll
Microsoft.Extensions.DependencyInjection.Abstractions.dll
Microsoft.Extensions.DependencyInjection.dll
Microsoft.InteractiveExperiences.Projection.dll
Microsoft.Windows.ApplicationModel.DynamicDependency.Projection.dll
Microsoft.Windows.ApplicationModel.Resources.Projection.dll
Microsoft.Windows.ApplicationModel.WindowsAppRuntime.Projection.dll
Microsoft.Windows.AppLifecycle.Projection.dll
Microsoft.Windows.AppNotifications.Builder.Projection.dll
Microsoft.Windows.AppNotifications.Projection.dll
Microsoft.Windows.PushNotifications.Projection.dll
Microsoft.Windows.SDK.NET.dll
Microsoft.Windows.Security.AccessControl.Projection.dll
Microsoft.Windows.System.Power.Projection.dll
Microsoft.Windows.System.Projection.dll
Microsoft.Windows.Widgets.Providers.Projection.dll
Microsoft.WindowsAppRuntime.Bootstrap.Net.dll
Microsoft.WinUI.dll
Microsoft.Xaml.Interactions.dll
Microsoft.Xaml.Interactivity.dll
WinRT.Runtime.dll
CommunityToolkit.Mvvm.dll
Removed   // put unneeded files in this folder  
runtimes  // folder contains win10-x64\native\Microsoft.WindowsAppRuntime.Bootstrap.dll
Assets    // contains the jpg and icon files referenced by application.

这是我放入“已删除”文件夹中的文件,因为应用程序可以在没有它们的情况下启动。

  1. 所有语言文件夹,如“xx-xx”;
  2. .xaml 和 .xbf 文件。
  3. pdb 文件和不需要的运行时文件夹,如“win10-arm64:

问题:

这是我能做的最好的事情吗?是否可以删除以下文件或文件夹?

  1. A.deps.json 和 A.runtimeconfig.json。
  2. “资产”文件夹
  3. pri 文件。
c# deployment publish winui-3
1个回答
0
投票

目前这是不可能的,但也许您可以使用 vs 构建后事件来删除语言文件夹,但是如果您想减小应用程序大小,最好的选择是使用修剪 https://learn.microsoft.com/en-us/dotnet/core/deploying/trimming/trim-self-contained

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