pytsharp Posted November 24, 2021 Share Posted November 24, 2021 (edited) Hi All, The 11.3 upgrade has broken the plugin I use to control my Arduino-powered LED Marquee. The plugin has a dependency on System.IO.Ports as it has to use serial communication to communicate with the Arduino. Everything was working splendidly until Launchbox was upgraded to .NET Core. I've been trying to make it work again for over a week now and all I get is this error popup whenever I start Big Box with a theme that has the plugin enabled. System.Windows.Markup.XamlParseException: 'The invocation of the constructor on type 'Ledmarquee.BigBoxPlugin' that matches the specified binding constraints threw an exception.' Line number '182' and line position '7'. ---> System.IO.FileNotFoundException: Could not load file or assembly 'System.IO.Ports, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. The system cannot find the file specified. File name: 'System.IO.Ports, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' at Ledmarquee.BigBoxPlugin..ctor() It looks like LaunchBox is trying to load the plugin assembly as a .NET Core assembly instead of a .NET Framework assembly, and System.IO.Ports.SerialPort has been dropped from .NET Core and is only available in the Framework. @Jason Carr am I missing something obvious? Are you aware of any workarounds for this? I've been racking my brain for over a week now - I even ported the plugin to .NET Core and explicitly added a reference to https://www.nuget.org/packages/System.IO.Ports/ and copied the DLL over to the Plugins folder in LaunchBox but no luck. As a last resort, is there a chance I can downgrade to an older version of LaunchBox from before the .NET Core migration? I really want to be able to use my LED Marquee, I spent many months making the hardware and software to drive it Thanks! Edited November 24, 2021 by pytsharp Reformatted code Quote Link to comment Share on other sites More sharing options...
Jason Carr Posted November 24, 2021 Share Posted November 24, 2021 @pytsharp Without seeing the code and spending some time on it, this might be kind of difficult to figure out. It sounds like you're on the right track though. We resolved many similar issues back when we upgraded to .NET Core, and the fix was mostly just to change to a Nuget package that supports .NET Core. The only thing I can think of beyond that is that maybe you don't have the DLLs in the right places. Remember that you need the System.IO.Ports DLL from the Nuget package deployed with the LaunchBox plugin. You can try placing it next to the plugin file, and/or directly in the LaunchBox\Core folder. Sorry for the trouble here. The .NET Core updates did provide us with a bunch of improvements, and going forward the standard .NET Framework is being discontinued completely, so we never really had a choice whether to upgrade to .NET Core or not (but we definitely don't regret it either). Quote Link to comment Share on other sites More sharing options...
Jason Carr Posted November 24, 2021 Share Posted November 24, 2021 If you do want to downgrade, just email us at support@unbrokensoftware.com to request a particular version of the app to download. Usually downgrades work just fine, but if you're jumping large version differences you might want to make a backup first just in case of a major change that messes with data. Quote Link to comment Share on other sites More sharing options...
pytsharp Posted November 24, 2021 Author Share Posted November 24, 2021 Thank you @Jason Carr, appreciated. I'll keep looking. Meanwhile, here's the source if you happen to have a spare moment and want to have a quick look! LedMarquee-0.10.7z Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.