xBimTeam / XbimExchange

XbimExchange contains several COBie schemas and serialisation functions as well as the Model Validation library adopted by theNBS digital toolkit.
https://xbimteam.github.io/
Other
46 stars 41 forks source link

IFC file conversion error while deploying it on 64bit machine #3

Closed ranjitchapale closed 8 years ago

ranjitchapale commented 9 years ago

Hi, I am facing issue on XBIM in ifc file conversion when I deployed application on IIS which configuration is 64bit machine. I have installed 2012 and 2013 visual c++ libraries also, still its giving error

andyward commented 9 years ago

Can you provide a bit more detail on the environment?

What version of Xbim (nuget package or branch?) What error message do you see? Have you tried running outside of IIS in a 64bit process first? i.e. in a console app? Does it work if you switch the app pool to run in 32 bit process?

It should work under an IIS 64 bit process (I've had it running) but I'd check the basics first. There are a number of quirks in the way IIS does things so you need to be sure the base environment is sound first.

Personally I'd really caution against running geometry processing under IIS. It's a webserver, so not meant to run native code (like OCC) or resource-intensive operations. There's a serious risk you take down your website with this approach. I'd run geometry generation on a background service where the work can be isolated and queued.

Andy

ranjitchapale commented 9 years ago

Hi andyward, When converting the ifc file to xbim or wexbim it gives me following error -

System.IO.FileNotFoundException: Could not load file or assembly 'Xbim.Geometry.Engine32.dll' or one of its dependencies. The specified module could not be found.

andyward commented 9 years ago

Firstly, do read my answer above again. Have you checked xbim runs outside of IIS on this machine? You'll waste a lot of time otherwise because IIS is weird...

It sounds like the IIS appPool is actually running in 32bit - not 64bit. I'd expect it to be trying to load Xbim.Geometry.Engine64.dll... not Engine32.dll

Assuming it is 64bit you really want:

If you've not already, get Xbim.Geometry 3.0.24 from MyGet master which has some extra logging and the above sanity checking (nuget source https://www.myget.org/F/xbim-master/api/v2)

If you're still struggling after all that I'd re-read the last paragraph in my previous reply :smile:

Andy