How to use rhinocommon in dotnetcore project for IOS build

Dotnet core lets you build for IOS plus windows as well. Right now current build of rhinocommon based solution based on dotnet framework can not get deployed on mac os. When I try to post to dotnet core I get below error-
Severity Code Description Project File Line Suppression State
Warning NU1701 Package ‘RhinoCommon 6.26.20147.6511’ was restored using ‘.NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8’ instead of the project target framework ‘.NETCoreApp,Version=v3.1’. This package may not be fully compatible with your project.

RhinoCommon is based on .NET Framework instead of .NET Core. They’re not interchangable.

Btw .NET Core on iOS is something different, it relies on AOT (rather than JIT) so it has a different feature set.

So then how do we use rhinocommon for mac os? We have a solution that works on windows with dotnet framwwork but to make it work in mac we need dotnet core.

Rhino on macos uses Mono, which is a macos implementation of .NET framework.

ok thanks, Please let me know the steps to convert dotnet framework based app to work in macos using rhinocommon dll.
Also dotnet core is newer version and one bloger says-
.Net Core is future. and Mono will be dead eventually. Having said that .Net Core is not matured enough. I was struggling to implement it with IBM Bluemix and later dropped the idea. Down the time (may be 1-2 years), it should be better.

Are you trying to create a plugin for Rhino or a stand alone application?

yes the plugin works in rhino 6.0 for windows but when I convert it to dotnet core it gives warning that rhinocommon is only supported for dotnet framework

Why are you trying to convert your plugin to .NET Core?

  1. You do not need to convert to make your plugin work on macos.
  2. RhinoCommon doesn’t support .NET Core yet.

the dotnet framework does not work in macos, dotnet core is cross platform framework that work on macos and windows. I want to make same plugin based on rhinocommon dll(class library with few windows forms) to work in mac os.

Mono acts as an implementation of .NET Framework on macos. Whether or not it’s going to die in the future, it’s the current tech stack Rhino is based on and you will be using it.

1 Like

ok thanks. Is there any documentation that tells steps to port dotnet framework based class library to mono based?

Have you tested your existing plugin on Mac and seeing problems? In general, many plugins will work without modifications on both platforms.

1 Like