XbimGeometry icon indicating copy to clipboard operation
XbimGeometry copied to clipboard

Progress on .net core

Open Dakki97 opened this issue 4 years ago • 13 comments

Is there a roadmap for .netcore or progress updates?

Dakki97 avatar Feb 18 '20 11:02 Dakki97

I am currently evaluating it to determine whether it is fully supported in netcore31. I will post some info in the next 2 weeks

SteveLockley avatar Feb 25 '20 08:02 SteveLockley

Hi Steve,

a member of the community's has provided me with guidance to write a thin wrapper for opencascade under Linux a few months ago.

This came with a working opencascade binary compiled for linux, on which to build a fully managed xbim.geometry. Which would make the whole library multiplatform. Give me a buzz if you are interested in going down this route.

Best, Claudio

On Tue, 25 Feb 2020 at 09:15, Steve Lockley [email protected] wrote:

I am currently evaluating it to determine whether it is fully supported in netcore31. I will post some info in the next 2 weeks

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/xBimTeam/XbimGeometry/issues/248?email_source=notifications&email_token=ABJY7MNF5XHGDQQDDDDWJNLRETHQ5A5CNFSM4KXCZ7N2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEM27SMY#issuecomment-590739763, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABJY7MNDKN63VPGYJCDY2CDRETHQ5ANCNFSM4KXCZ7NQ .

CBenghi avatar Feb 25 '20 08:02 CBenghi

Are there any updates on .netcore progress?

mma1377 avatar May 17 '20 17:05 mma1377

Hi,

On my side, I'm working on a c# only implementation of geometry, but it's far away in the future.

There's an alternative option for the occ on Linux, of which I have a proof of concept, but needs work and is not a high priority, and would be good to have a sponsor to help with. It's quite a bit of work.

I know Steve was also trying something but I'm not sure if the state of that either.

Best, Claudio

Il Dom 17 Mag 2020, 19:46 Mohammadmahdi Alijani [email protected] ha scritto:

Are there any updates on .netcore progress?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/xBimTeam/XbimGeometry/issues/248#issuecomment-629835058, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABJY7MKXE6OQLKNL7PLGGNTRSAPIVANCNFSM4KXCZ7NQ .

CBenghi avatar May 17 '20 19:05 CBenghi

Hi Steve,

is there any news about the .net core compatibility of xBim geometry (+ Engine Interop + Scene)?

Thank you and best regards

secomDevs avatar Jul 16 '20 15:07 secomDevs

I have started the net core port, you can see it in the version 6 branch

I started to take the opportunity to fix several other issues in doing it, see the readme. In the meantime we have some need to fully support ifc4 and 43 so have temporarily switched our focus to getting these to work. If you look at the Revit Ifc open source project you will see our engagement in trying to improve ifc4 exports

Please look at Version6 , most of the work is in building good test cases for each of the geometry types and working through applying the new architecture to each geometry type. I think scene and interop will go

I would really appreciate your views, this is a big (in terms of time) and fundamental job that is actually quite low risk. Our time is a bit constrained as we are doing this on our personal free time, so apologies we are not going faster

From: secomDevs [email protected] Sent: 16 July 2020 16:22 To: xBimTeam/XbimGeometry [email protected] Cc: Steve Lockley [email protected]; Comment [email protected] Subject: Re: [xBimTeam/XbimGeometry] Progress on .net core (#248)

Hi Steve,

is there any news about the .net core compatibility of xBim geometry (+ Engine Interop + Scene)?

Thank you and best regards

— You are receiving this because you commented. Reply to this email directly, view it on GitHubhttps://github.com/xBimTeam/XbimGeometry/issues/248#issuecomment-659483548, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AB6XPJMYG4L4REWY655I2CLR34LJNANCNFSM4KXCZ7NQ.

SteveLockley avatar Jul 20 '20 09:07 SteveLockley

So it seems there is still some work to do to make this multi-platform, although I'm not very familiar with Linux builds. Environment is JetBeans Rider, msbuild 15, gcc 9.3.0

  • stdafx.* files are obviously not autogenerated, because not using VisualStudio
  • g++ build compatibility is possible with https://github.com/roozbehid/dotnet-vcxproj
    • g++ has problems with the namespaces AssemblyInfo.cpp(3,17): error : ‘System’ is not a namespace-name
  • If not using dotnet-vcxproj I get a missing reference to "/Microsoft.Cpp.Default.props"

Would be great if anyone could replicate these issues or give some pointers.

Edit: Started with a fresh git reset and it seems to work until the archiver step.

  1. dotnet new gccbuild
  2. Modify solution configurations Debug | * to LinuxDebug | *
  3. Replace all occurrences of Debug|Win32 and Debug|x64 in Xbim.Geometry.Engine.vcxproj to their LinuxDebug equivalents

Now I'm getting a "Invalid option K" from /usr/bin/ar, but that seems to be a problem with dotnet-vcxproj

helpsterTee avatar Aug 05 '20 07:08 helpsterTee

I would be really interested in being able to run xBim on .NET Core (3.1 and/or 5), even if that is constrained to windows due to the native dependency.

I've tested the branch NetCoreApp31 locally and so far it seems to work without any issues. Though I am a little bit hesitant to use a random development branch in prod.

Do you have any short-term (or middle-term) plans to merge that branch and publish nuget packages that multi-target .net framework and .net core windows, or is that a long time away?

0x53A avatar Jan 11 '21 01:01 0x53A

This is our plan and it should not be far away. As you can tell from the commits, this is the current development.

martin1cerny avatar Jan 11 '21 08:01 martin1cerny

I was hoping to use xBim Geography on .net core, is this something that still might be available soon?

I tried the NetCoreApp31 branch locally but it depends on some version of essentials that I can not get from myget/nuget. Is there somewhere I can get the compiled DLLs?

SWGAnthonyClark avatar Aug 31 '21 08:08 SWGAnthonyClark

We were purging some of the older versions in MyGet. You should be able to repoint it to the latest Xbim.Essentials and compile.

martin1cerny avatar Aug 31 '21 09:08 martin1cerny

Is there any plan to support .netcore 5+ in future? Seems that the current geometry/open cascade interop way with CLR/CLI C++ isn't the right way to handle multi-platform projects. (https://github.com/dotnet/runtime/issues/4116)

bekraft avatar Sep 01 '21 07:09 bekraft

I have merged the current master into the NetCoreApp31 branch here: https://github.com/xBimTeam/XbimGeometry/pull/355

Unit Tests are green and I'm going to test it in my product soon(ish).

@bekraft Yes, this branch does NOT solve the multi-platform issue, it only supports .NET Core on Windows. Still, for a first step that would be better than nothing for me.

You can, in theory, publish a .NET Core app for windows and then run it on Linux under Wine. That's still better than running the old .NET Framework on Linux under Wine.

0x53A avatar Sep 22 '21 17:09 0x53A