today i wanted to play around with netcore and netstandard. so i tought i convert an basic module to netstandard - and leave the rest on netcoreapp. result is that i cannot start the application anymore. seems like some kind of DLL hell?
System.TypeInitializationException: "The type initializer for 'DevExpress.LookAndFeel.UserLookAndFeel' threw an exception."
MissingMethodException: Method not found: 'Void DevExpress.Utils.Text.StringParser.RegisterColorConverter(System.Drawing.ColorConverter)'.
attached is the modified sample project - any suggestions?
As I noted in https://community.devexpress.com/blogs/xpo/archive/2019/07/30/xpo-net-core-3-0-support-in-winforms-and-wpf-apps-with-microsoft-net-sdk-windowsdesktop.aspx, there are some specificities that developers should take into account when they share .NET Standard 2.0 and .NET Core 3.0 Desktop libraries that depend on DevExpress APIs:
> More difficult code sharing if you create core libraries with the DevExpress.Data or DevExpress.Xpo assemblies. You may need to create 2 .csproj files: one for .NET Core 3.0 desktop apps and the other for .NET Standard 2.0 cross-platform apps.
Future solutions may include the following:• Increase the minimally supported .NET version in DevExpress assemblies to 4.7.2. This way they will support .NET Standard 2.0 and can be used in .NET Core 3 apps with no problems.
• Refactor DevExpress.Data and other core libraries to have .NET Framework 4.5.2 and .NET Standard 2.0 versions. The latter can be used in .NET Core 3 apps with no problems.
More difficult solution in v19.1-2 is caused for the following reasons:• Our assemblies are on .NET Framework 4.5.2 at the time of this writing.
• We cannot change the minimally supported .NET version too often due to existing customers and compatibility issues.
• The minimum .NET Framework version that supports .NET Standard 2.0 completely is 4.7.2 (https://docs.microsoft.com/en-us/dotnet/standard/net-standard).
• Refactoring these libraries to separate this platform-dependent code in new assemblies is also a serious change for thousands of customers and even a greater number of their existing apps.