Hello, we have been using Infragistics WPF in our .NET 4.7 based library for a while. Now we want to create a multitarget version of this library which also supports .NET 5.0. So far we have been using the versioned libraries for .NET Framework 4 and I would actually like to stick with that. Are the .NET5.0 WPF libs also available in a versioned build?
Thanks Michael - I think this was the crucial hint. This allows to bind to assemblies with different names (472: versioned assemblies as assembly references, 5.0: nuget packages with unversioned assembly names) without having to change the xaml code.
I'd like to add that in Windows Forms, the reason we don't use NuGet packages for .NET Framework is due to the designer and it requires DLLS to be installed into the GAC. So WinForms is a bit different. This is not the case for WPF.
The assembly version is not required for the namepace
Our NuGet packages and DLLs are not framework specific nor are they really version-free. They're containers with versioned assemblies. You are correct that NetCore has some breaking changes and limitations but that would be transparent if you used either method of adding our references. NuGet packages are version-free through the installer and zipped and named but are actually versioned. You can ignore the wording on the zip files.
Thanks Michael - you are suggesting that I add references to the .NET4 assemblies of Infragistics WPF? That will probably work for WPF, but it's less ideal since you might get runtime errors (that's what happened with UltraGrid in Infragistics WinForms because of the obsolescence of ContextMenu property in .NET 5). That's why I would have preferred to use your .NET 5 assemblies (as you package them in the Nuget packages). But these are unversioned and I would have to use conditional code in my Xaml (which has references to the versioned Infragistics assemblies) like this:
xmlns:igRibbon="clr-namespace:Infragistics.Windows.Ribbon;assembly=InfragisticsWPF4.Ribbon.v21.1"
Conditional code in xaml is really painful that's why I would like to use the same assembly names in both cases.