Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Windows] Using System.Reactive Increases Package Size #5888

Closed
DeanFaizal opened this issue Apr 7, 2022 · 3 comments
Closed

[Windows] Using System.Reactive Increases Package Size #5888

DeanFaizal opened this issue Apr 7, 2022 · 3 comments
Labels
area-publishing Issues with the app packaging/publishing process (ipk/apk/msix/trimming) external platform/windows 🪟 s/verified Verified / Reproducible Issue ready for Engineering Triage t/app-size Application Size / Trimming (sub: perf) t/bug Something isn't working
Milestone

Comments

@DeanFaizal
Copy link

DeanFaizal commented Apr 7, 2022

Description

msix package for a fresh app is 44MB. After adding and using System.Reactive it jumps to 88MB.

Steps to Reproduce

  1. Create a File > New MAUI app
  2. Update OnCounterClicked
    private void OnCounterClicked(object sender, EventArgs e)
    {
        var source = Observable.Timer(DateTimeOffset.MinValue, TimeSpan.FromSeconds(1)).Timestamp();
        source.Subscribe(x =>
        Application.Current.Dispatcher.Dispatch(() =>
        {
            CounterLabel.Text = x.Timestamp.ToString();
        }));
        SemanticScreenReader.Announce(CounterLabel.Text);
    }
  1. Add System.Reactive nuget or the following in csproj:
	<ItemGroup>
	  <PackageReference Include="System.Reactive" Version="5.0.0" />
	</ItemGroup>
  1. Build the app in command prompt
    msbuild MauiReactive.sln -restore -p:Configuration=Release
  2. Package the app in command prompt
    "C:\Program Files (x86)\Windows Kits\10\App Certification Kit\MakeAppx" pack /v /h SHA256 /d "MauiReactive\bin\Release\net6.0-windows10.0.19041\win10-x64" /p MauiReactive.msix

Expected result: Package size increase is minimal from adding a nuget package
Actual result: Package size increase is very large.

Version with bug

Preview 14 (current)

Last version that worked well

Unknown/Other

Affected platforms

Windows

Affected platform versions

net6.0-windows10.0.19041

Did you find any workaround?

No

Relevant log output

No response

@DeanFaizal DeanFaizal added s/needs-verification Indicates that this issue needs initial verification before further triage will happen t/bug Something isn't working labels Apr 7, 2022
@Redth Redth added this to the Future milestone Apr 7, 2022
@ghost
Copy link

ghost commented Apr 7, 2022

We've moved this issue to the Future milestone. This means that it is not going to be worked on for the coming release. We will reassess the issue following the current release and consider this item at that time.

@DeanFaizal
Copy link
Author

Here's the difference for added files in the package:

"Accessibility.dll"
"D3DCompiler_47_cor3.dll"
"DirectWriteForwarder.dll"
"Microsoft.VisualBasic.Forms.dll"
"Microsoft.Win32.Registry.AccessControl.dll"
"Microsoft.Win32.SystemEvents.dll"
"PenImc_cor3.dll"
"PresentationCore.dll"
"PresentationFramework.Aero.dll"
"PresentationFramework.Aero2.dll"
"PresentationFramework.AeroLite.dll"
"PresentationFramework.Classic.dll"
"PresentationFramework.dll"
"PresentationFramework.Luna.dll"
"PresentationFramework.Royale.dll"
"PresentationFramework-SystemCore.dll"
"PresentationFramework-SystemData.dll"
"PresentationFramework-SystemDrawing.dll"
"PresentationFramework-SystemXml.dll"
"PresentationFramework-SystemXmlLinq.dll"
"PresentationNative_cor3.dll"
"PresentationUI.dll"
"ReachFramework.dll"
"System.CodeDom.dll"
"System.Configuration.ConfigurationManager.dll"
"System.Design.dll"
"System.Diagnostics.EventLog.dll"
"System.Diagnostics.PerformanceCounter.dll"
"System.DirectoryServices.dll"
"System.Drawing.Common.dll"
"System.Drawing.Design.dll"
"System.IO.Packaging.dll"
"System.Printing.dll"
"System.Reactive.dll"
"System.Resources.Extensions.dll"
"System.Security.Cryptography.Pkcs.dll"
"System.Security.Cryptography.ProtectedData.dll"
"System.Security.Cryptography.Xml.dll"
"System.Security.Permissions.dll"
"System.Threading.AccessControl.dll"
"System.Windows.Controls.Ribbon.dll"
"System.Windows.Extensions.dll"
"System.Windows.Forms.Design.dll"
"System.Windows.Forms.Design.Editors.dll"
"System.Windows.Forms.dll"
"System.Windows.Forms.Primitives.dll"
"System.Windows.Input.Manipulations.dll"
"System.Windows.Presentation.dll"
"System.Xaml.dll"
"UIAutomationClient.dll"
"UIAutomationClientSideProviders.dll"
"UIAutomationProvider.dll"
"UIAutomationTypes.dll"
"vcruntime140_cor3.dll"
"WindowsFormsIntegration.dll"
"wpfgfx_cor3.dll"

These seem to be localization folders:
"cs"
"de"
"es"
"fr"
"it"
"ja"
"ko"
"pl"
"pt-BR"
"ru"
"tr"
"zh-Hans"
"zh-Hant"

Inside each localization folder:
"System.Windows.Input.Manipulations.resources.dll"
"System.Xaml.resources.dll"
"UIAutomationClient.resources.dll"
"UIAutomationClientSideProviders.resources.dll"
"UIAutomationProvider.resources.dll"
"UIAutomationTypes.resources.dll"
"WindowsBase.resources.dll"
"WindowsFormsIntegration.resources.dll"
"Microsoft.VisualBasic.Forms.resources.dll"
"PresentationCore.resources.dll"
"PresentationFramework.resources.dll"
"PresentationUI.resources.dll"
"ReachFramework.resources.dll"
"System.Windows.Controls.Ribbon.resources.dll"
"System.Windows.Forms.Design.resources.dll"
"System.Windows.Forms.Primitives.resources.dll"
"System.Windows.Forms.resources.dll"

@Redth Redth added s/verified Verified / Reproducible Issue ready for Engineering Triage platform/windows 🪟 legacy-area-perf Startup / Runtime performance and removed s/needs-verification Indicates that this issue needs initial verification before further triage will happen labels Apr 7, 2022
@DeanFaizal
Copy link
Author

Opened issue on System.Reactive as this is not a MAUI issue: dotnet/reactive#1745

Can we provide some guidance to windows package maintainers for MAUI support before we close this?

@samhouts samhouts added t/app-size Application Size / Trimming (sub: perf) external and removed legacy-area-perf Startup / Runtime performance labels Feb 6, 2023
@samhouts samhouts closed this as not planned Won't fix, can't repro, duplicate, stale Feb 6, 2023
@ghost ghost locked as resolved and limited conversation to collaborators Mar 8, 2023
@Eilon Eilon added the area-publishing Issues with the app packaging/publishing process (ipk/apk/msix/trimming) label May 10, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-publishing Issues with the app packaging/publishing process (ipk/apk/msix/trimming) external platform/windows 🪟 s/verified Verified / Reproducible Issue ready for Engineering Triage t/app-size Application Size / Trimming (sub: perf) t/bug Something isn't working
Projects
None yet
Development

No branches or pull requests

4 participants