Closed untecnologo closed 10 months ago
See https://github.com/xBimTeam/XbimGeometry/issues/380#issuecomment-1216978804 for some background
Basically the native assemblies are only copied to the bin folder on the project the nuget is directly added to. This is addressed in the upcoming v6 version where we copy transitive dependencies.
As you've noted, a v5 workaround is to add the xbim.Geometry.Engine.Interop package to your top level WT.Web project explicitly.
To fix the issue where both 32 bit and 64 bit are copied, set the platform of WT.Web to be x64 , rather than Any CPU. (Note the build script checks the platform)
@andyward Really thank you for your support I will let you know more details after fixing it because I know there are too many questions from other developers about this behavior.
@andyward After the solution you recommended to me, We were able to fix the issue. Then another issue happens. The dll (x86) was created locally but at the moment of the deployment, the file Xbim.Geometry.Engine32.dll is missing after the pipelines run. We made some changes and tested the references, config etc. In the end, we just copied the dll manually using FTP in the server because there was no way to do it for us.
I commented this here just in case someone else has the same problem and maybe our workaround can be useful but not recommended as a good practice.
I have just one question, will the new version be compatible with 4.8 Framework and when is it expected to be released? Thank you for your time we really appreciate your support and your work.
Re Pipeline deployment, have you tried adding this to your project file:
<ItemGroup>
<None Update="Xbim.Geometry.Engine32.dll">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
</None>
</ItemGroup>
On v6 geometry, yes it will support both net Framework (net472 upward) and net Core (net6).
It's not far off, we just need a week or 2 tidying up and merging. We've been running feature branch builds internally for 6+ months
Short summary describing the issue. (3-5 sentences) I have a project where xbim.geometry nugget package is installed called WT.IO Since I installed the package both DLL files have been created in that project and ignored by the git.
I have another project called WT.WEB which is my building project and has references to WT.IO In the build not neither Xbim.Geometry.Engine64.dll nor Xbim.Geometry.Engine32.dll are copied to the bin folder.
I think this is not working as expected. https://github.com/xBimTeam/XbimGeometry/blob/master/Xbim.Geometry.Engine.Interop.targets
Because the files are being generated in the wrong place and both of them at the same time.
My WT.IO folder bin:
The main error is
If I manually copy Xbim.Geometry.Engine64.dll into the bin folder of WT.WEB (My main project), it works.
Why the files are being generated both of them and in the wrong place? I also tried, installing the nugget package in WT.WEB but the problem is both files are generated and the system crashes because Xbim.Geometry.Engine32.dll is not supposed to be generated.