XbimGeometry icon indicating copy to clipboard operation
XbimGeometry copied to clipboard

net6.0 support

Open zhouguoqiang opened this issue 1 year ago • 5 comments

is there a plan to support net6.0

zhouguoqiang avatar Jan 18 '24 03:01 zhouguoqiang

Yes, coming soon. See the netcore branch

andyward avatar Jan 18 '24 11:01 andyward

Will this version be crossplatform? Will it be able to work under Linux?

GVladislavG avatar Jan 30 '24 16:01 GVladislavG

Not initially in GE v6. The problem is that we're using C++/CLI to wrap/interface with OpenCascade native C++ library - C++/CLI creates efficient .NET shims between native and managed code. This approach is pretty widespread across the geometry engine. C++/CLI is only compatible with Windows currently due to limitations of the Visual Studio C++ compiler.

So unless the Microsoft C++ team come out with an improved C++ cross-compiler, in order to provide full cross-platform support (for Linux/MacOS) we'd need to move to P/Invoke, which is both a lot of work and would likely have negative performance implications.

What the v6 branch does is move us along a bit by:

  1. Supporting Geometry under NetCore (.NET6+)
  2. Provide new interfaces to support phased migration of code that uses OpenCascade (and re-writes a lot of the implementation to be more testable)
  3. Extract OpenCascade to dependency via Nuget, so it can be updated more easily

One thing that should be possible in v6 is to natively support ARM64 under Windows. But full cross-platform is going to be something we have to leave for a future major release, and will need significant time investment - and frankly will need to have a compelling commercial driver behind it.

andyward avatar Jan 31 '24 11:01 andyward

Are there any plans to publish public v6 packages in the near future?

hyazinthh avatar May 06 '24 17:05 hyazinthh

I also want to know if xbim works on linux

nicekiller00 avatar Jul 10 '24 13:07 nicekiller00

Are there any plans to publish public v6 packages in the near future?

@hyazinthh, there is a prerelease package, if you want to give it a try: https://www.nuget.org/packages/Xbim.Geometry.Engine.Interop/6.1.801-netcore

Ibrahim5aad avatar Jan 08 '25 12:01 Ibrahim5aad

I also want to know if xbim works on linux

@nicekiller00 , Andy's explanation above can answer your question.

Ibrahim5aad avatar Jan 08 '25 12:01 Ibrahim5aad