
Hi,
We've just upgraded from v19 to v21 so have been able to take advantage of the public nuget packages for the first time which are very convenient.
We take a dependency on the LLParser in a library project which is consumed indirectly by both a WPF app as well as a service application. Currently the smallest nuget package containing the Parser is ActiproSoftware.Controls.WPF.SyntaxEditor - but as the name suggests this also includes the Syntax Editor component assembly and a dependency on WPF.Shared package.
The default behaviour of the .NET build system is to copy these assemblies into the output folder even if they are unused - and although this does no harm in theory, they are relatively large (3MB in total) and swell the artifact bundles in our build system!
As a workaround we have applied an msbuild "fix" to exclude these files at the relevant leaf nodes in our project dependency graph - but it's a bit messy and adds a maintenance overhead.
To get to the point - would you consider separating the Parser assemblies from the ActiproSoftware.Controls.WPF.SyntaxEditor package?
ActiproSoftware.Controls.WPF.LLParser
contains:
- ActiproSoftware.Text.LLParser.Wpf.dll
- ActiproSoftware.Text.Wpf.dll
ActiproSoftware.Controls.WPF.SyntaxEditor
contains:
- ActiproSoftware.SyntaxEditor.Wpf.dll
depends on:
- ActiproSoftware.Controls.WPF.LLParser
- ActiproSoftware.Controls.WPF.Shared
This would mean that non-visual projects need not import SyntaxEditor package at all and keep things a bit tidier without awkward build customization.
Many thanks.