即使只有几页 类,UWP 项目的大小是否应该大于 200MB?

Are UWP projects supposed to be >200MB in size even though it's just a few pages and classes?

bin 文件夹和 obj 文件夹大约有 100MB 供阅读。此外,可发布的包也约为 50MB。这是正常的吗?我不认为 Win8.1 应用程序占用了那么多 space。

此外,如果我想将我的应用程序发送给朋友,是否需要将所有文件发送给他们?还是仅 .appx* 加上 PowerShell 脚本就可以?

谢谢!

Bin 和 obj 文件夹包含 Visual Studio 构建和调试应用程序所需的一切。对于 UWP 项目,您可以忽略这些文件夹,因为您不能只 copy/paste .exe 文件到另一台电脑。

包的大小不仅由代码定义,还由 assets(通常是大图像甚至 sounds/videos)和 您使用的图书馆。 Windows 10 个 UWP 包非常大(即使是简单的应用程序)的主要原因是所有使用的库(也是标准的 .net 库)都与应用程序打包在一起。这是为了确保您的应用程序可以使用正确版本的程序集,因为 UWP 应用程序不再使用 GAC。

在新项目中,您可能 "only" 使用单个包:Microsoft.NETCore.UniversalWindowsPlatform(当前版本 5.2.2)。但是如果你检查这个包的依赖关系,你会注意到它也拖入了许多其他程序集,这些程序集将被打包。

在发布模式 (.NET Native) 下编译会剔除任何未使用的类型,因此这些构建已经针对大小(但主要是速度)进行了部分优化,但构建时间更长。

不过好消息是,无论何时您从 Windows 商店安装或更新应用程序,都只会下载软件包中您的系统上尚不可用的部分。所以即使你的包是 50mb,这并不意味着你总是下载 50mb。


如果您想将您的应用发送给朋友进行旁加载,只需创建一个包(不适用于商店)。如果需要,可以省略 pdb(调试)符号文件以减小大小。

这会将所有内容放入具有正确版本号的 \AppPackages\ 下的文件夹中。压缩此文件夹并将其发送给您的朋友。由于您的电脑不知道您朋友的电脑配置,它无法使用 Windows 商店的优化过程来创建一个更小的包,而忽略他机器上已有的所有文件。