Why am I receiving the "System.DllNotFoundException: …" error in my ODA .NET app, even though I have put the specified DLL in the output folder?
Most likely, this is happening because of missing C++ libraries from the output folder: as our .NET SDKs are only wrappers over our C++ ones, all the required native libraries should be available to .NET application too. This applies to all of our SDKs.
Most of the original C++ libraries are presented as separate .NET DLLs: FacetModeler_{version}.dll -> OdSwig_FacetModeler_Mgd.dll
However, there are two exceptions: TD_RootIntegrated and TD_DbCoreIntegrated, which contain combined APIs from several C++ modules.
Core C++ libraries are specified in the "Core components" section in "Determining which Libraries to Use" documentation page: https://docs.opendesign.com/td/tdrawings_libraries.html.
Why am I receiving BadImageFormatException error when running my ODA .NET application?
This error occurs due to architecture mismatch in project and its dependencies.
In Visual Studio, the platform target is usually set to "Any CPU" with "Prefer 32bit" flag checked by default, which starts the program as a 32bit process on both 32bit Windows and 64bit Windows – disable this option in project properties in the build menu.
I am getting following error while building a solution: error MSB8031: Building an MFC project for a non-Unicode character set is deprecated.
You need to install MFC. It doesn't come with default install configuration. Run Visual Studio installer, click "Modify", and select Visual C++ MFC.
I am getting following error while building a solution: fatal error LNK1104: cannot open file 'mfc140u.lib'.
You need to install MFC. It doesn't come with default install configuration. Run Visual Studio installer, click "Modify", and select Visual C++ MFC.