Jump to content
LaunchBox Community Forums

Reference to System.IO.Ports

Recommended Posts

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=, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. The system cannot find the file specified.
File name: 'System.IO.Ports, Version=, 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 :(




Edited by pytsharp
Reformatted code
Link to comment
Share on other sites

@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).

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...