.NET Core does not support loading assemblies

We use MATLAB R2022b to access .NET 6 libraries. This works as long as the library does NOT reference some other assemblies in the cache. E.g. one of the .NET 6 libraries we use accesses System.IO.Ports (via official nuget package manager), this library then cannot be loaded in MATLAB R2022b as we get the following error then:
Message: Could not load file or assembly 'System.IO.Ports, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'
Is there a workaround, or is this something MATLAB will support in the future?

3 comentarios

raptor_claw
raptor_claw el 13 de Feb. de 2023
I'm dealing with the same issue. Created a simply package that contains a class that utilizes System.Text.Json and the NET.addAssembly command loads all parts of the assembly that do not use the System.Text.Json package.
Would love to hear from the Mathworks Team on support/workarounds.
Henrik Teneberg
Henrik Teneberg el 14 de Sept. de 2023
I am also affected by this. The obvious workaround is to set up a Publish Profile for your .NET project that has the flags:
<SelfContained>true</SelfContained>
<PublishSingleFile>false</PublishSingleFile>
<PublishReadyToRun>false</PublishReadyToRun>
<PublishTrimmed>false</PublishTrimmed>
This basically means shipping all .NET dlls with every deploy though.
I am also looking forward to a fix/comment from Mathworks.
Thomas Stauffer
Thomas Stauffer el 14 de Sept. de 2023
I was not able to fix this. What is also somewhat cumbersome, that MATLAB not automatically can handle the case when the dll is updated, as this happens many times during development. What we did in the end was something else. Making a .NET application acting as a webservice and then using webread/webwrite from MATLAB. This also works then for older MATLAB version which have no .NET 6/7 support.

Iniciar sesión para comentar.

Respuestas (0)

Productos

Versión

R2022b

Etiquetas

Preguntada:

el 18 de Oct. de 2022

Comentada:

el 14 de Sept. de 2023

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by