The C#/.Net version of the OpenEye Toolkits is a P/Invoke wrapper created using SWIG. It is important to note that this is not a new version of the toolkits written in C# nor is it a C# interpretation of the toolkit API, but a rather faithful reproduction of the toolkit API in C#. And while this manual is specific to C#, the version of the toolkits works with all .Net languages include Visual Basic .Net, F# and IronPython.
A few of the idiomatic differences include:
There are relatively few classes in OEChem and they have a rather shallow inheritance hierarchy.
Most OEChem algorithms are in C++ free functions. These are mapped to static methods in the class OEChem.
C# doesn’t support all the operator overloading of C++, so some C++ operators are mapped to methods. For example, “operator bool()” is mapped to a member function called “IsValid()”, “operator()” is mapped to “Call()”.
In order to use the OpenEye toolkits with C#/.Net, you need a copy of Visual Studio. We currently support VS2017, VS2019, and VS2022 including the free “Express” versions.
VS2022 requires the .NET Framework 4.8. We do not yet support .NET Core.
GPU-Enabled OpenEye products are not supported on Windows platforms or in the C# language.
Download the OpenEye .Net distribution¶
The distribution is obtained from http://www.eyesopen.com/downloads. There is a 64-bit download for each supported version of Visual Studio.
Each distribution is provided as ZIP file, that you can simply
extract. Inside the
C#-Examples folder, you will find a pair of
folders for each toolkit. One for the main examples and one for the
documentation examples. Each sub-folder contains a solution (.sln)
file appropriate for your chosen Visual Studio version.
The Global Assembly Cache¶
If you desire to install all the OpenEye assemblies into the Global
Assembly Cache, there is a convenience script included in the
Scripts directory. Double-click on Install_to_GAC.bat
to install all the assemblies.
If you need to uninstall the assemblies for some reason, simply double-click on Uninstall_from_GAC.bat.
There is no requirement to install anything into the GAC. If you are not sure you need this, you probably don’t.