GeneXus Core module

GeneXus 15 provides a set of built-in APIs, Structured Data Types, and Domains to manage abstract concepts and interact with different technologies, devices, sensors, etc.

They are currently read-only and encapsulated in modules, all under one: 'GeneXus'. The developer can find them under 'References' in the 'KB Explorer', in the 'Domains' tool window and in the 'Standard Variables' section.

Main Benefits

It is clear for all the developers that these objects are maintained by GeneXus

Making them read-only avoids occasional errors and compatibility issues.

Their implementation is already built and is also shipped built-in with GeneXus 15. So GeneXus does not need to build (specify, generate, compile) them on every KB/Version/Environment.

Some of them have not just been moved to a module but also been renamed to improve usability. But note: Their internal identification (GUID) remains the same in all cases to minimize compatibility issues when migrating from previous versions (eg.: code that referenced "ClientInformation" now automatically references "GeneXus.Client.ClientInformation" ).

When building, you may get "error: 'GeneXus' version 0.19 cannot be downloaded. Is it a built-in module? Try execute "genexus.exe /install" command. Otherwise, you need to update the module version to an accessible one."
Solution: Close GeneXus, execute genexus.exe /install, open GeneXus, then the menu Knowledge / Manage Modules and install the highest available GeneXus module.

When importing, you may get "Cannot import '{0}', it is already defined in referenced module '{1}'".
Solution: That is not a problem. GeneXus is just preventing to import an object that is already in a referenced module. To get a newer version of that object you may ask the provider for it and install it using the Module Manager.