I have been evaluating a 3rd party .NET assembly. I have it working in 64-bit PDSOE but in 32-bit PDSOE it is not recognized. In my project under referenced assemblies it has a red x next to it.
I reached out to the vendor to see if there is an assembly build for 32-bit and their response was;
"The component is built for AnyCPU. You can use it in both 32 bit and 64 bit apps. When using it in 32bit app .NET runtime will optimize the lib for the 32 bit architecture."
Is there anything special I will need to do for this assembly to work in 32-bit OE?
It is in a sub-directory under my Assemblies folder in my project. I also added a reference in the assemblies.config that points to the folder (privatePath). This is the same structure I use for all the other assemblies.
If it should work I will spend a bit more time on it. I did not want to waste time on something that is not supported.
Try to load the Assembly like this to get a better error message:
DEFINE VARIABLE oAssembly AS System.Reflection.Assembly NO-UNDO .
oAssembly = System.Reflection.Assembly:LoadFile ("C:\work\SmartComponents4NET\117_64\ABL\Assemblies\Support\proparse.net.dll") .
Architect of the SmartComponent Library and WinKit
Nice trick!! It runs with no error and I can see properties in oAssembly that appear correct. However, it still has a red x next to it under project references.
Let me move it to the root Assemblies folder and try that.
Well, moving it to the Assemblies folder works...no more red x. I confirmed the privatePath entry in assemblies.config was correct...not sure why it did not like being in a sub-directory under Assemblies. Well, I am good for now...at least I can evaluate the control.