H. Pauwelyn
H. Pauwelyn

Reputation: 14290

FileNotFoundException: Could not load file or assembly System.IO.Ports

Yesterday I've worked on a project and got this exception:

System.IO.FileNotFoundException: Could not load file or assembly. The system cannot find the file specified.

Then I've Googled for hours what the problem could be but didn't find a solution.

The weird thing is that I've started with a complete new .NET Core project today and I've installed the Lego.Ev3 NuGet library and got the same error again.

This is my code, the exception will thrown on the last line:

using Lego.Ev3.Core;
using Lego.Ev3.Desktop;

Brick brick = new Brick(new BluetoothCommunication("COM10"));

This are more details of the exception in my Lego© project:

System.IO.FileNotFoundException: Could not load file or assembly System.IO.Ports, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51. The system cannot find the file specified.**

Is there a setting wrong in Visual Studio?

Upvotes: 6

Views: 12769

Answers (3)

Klepto
Klepto

Reputation: 768

I got this error when trying to communicate using SerialPort with a LTE Module on a RaspberryPi using c#/.net core. I had the nuget package "System.IO.Ports" installed, but when I scp:ed the files to the RaspberryPi, I missed to include the folder "runtimes" in the publish folder, it contains the native code that is needed for it to work.

Upvotes: 1

Ken
Ken

Reputation: 183

Sorry for answering an old question, but I got around this by adding System.IO.Ports nuget package.

I wasn't working with the Lego library, so I don't know if it's a fix for that specifically, but it worked for the library I am using.

Upvotes: 4

SQL Police
SQL Police

Reputation: 4196

System.IO.Ports is not available in .NET Core. It's only available in .NET Framework 4.8.

https://learn.microsoft.com/en-us/dotnet/api/system.io.ports

As a possible solution, try to create a project with .NET Framework 4.8, not with .NET Core.

Upvotes: 7

Related Questions