-

Libraries in the System namespace

The iCube Engineer programming system for C# needs referenced libraries which are specifically built for the eCLR runtime. For this, we introduced our own framework (similar to .NET framework) and the eCLR base class libraries.

This approach takes care that it's always downward compatible libraries built with the eCLR 3.4 framework are running on newer versions of the eCLR framework without any issues. Upward compatibility is also given, as long as the library developer takes care that his program uses new functions only on systems where they are already implemented.

eCLR Core Libraries

As already mentioned at eCLR programming system, the eCLR comes with three base class libraries ( mscorelib.dll, System.dll, System.Core.dll ) and three eCLR-specific libraries ( eclrlib.dll, pcoslib.dll, IecEngineering.dll ).

The eCLR-specific libraries are referenced in the eCLR project templates by default. The mscorelib.dll is automatically referenced by Visual Studio and can not be added manually. If you change your project's target framework the dedicated libraries will be exchanged as well.

The System.dll and System.Core.dll behave different and the developer needs to keep care of it himself. It is not part of the default references and does not change automatically on changing the target framework version.

It needs to be added and changed manually:
  1. Right click on References and select Add Reference ...

    Image
  2. Select the library

    Choose the one named System or System.Core, created by Phoenix Contact GmbH & Co. KG and with the correct version.

    Image
    In the current state of development, the System.Core does not yet include any functionality. Nevertheless, as long as it is referenced, it avoids to get any Intellisense hints for .NET framework functionalities that would mislead the developer.

  3. Check for troubling libraries

    Referencing one of the libraries created by Microsoft Corporation (they're slightly grayed out in the list) will retarget the project to .NET framework 4.0, so it is not running on iCube Control devices anymore (regard the warning sign):

    Image
    You have to change it back in the project settings and delete the reference in order to work with iCube Enginner Toolchain.

Referencing custom libraries

Sometimes it's helpful to have a "helper library" at hand or reuse functions from other projects.

These libraries must also be built with the eCLR target framework. In the build output of your iCube Engineer Toolchain project there's a .dll (next to the iCube Engineer library) which can be referenced in other projects.

 


This help information is valid for iCube Engineer Online Help 2025.6

Copyright © 2025 YASKAWA EUROPE GmbH and © 2025 YASKAWA America, Inc.