NShape repositories should be backwards compatible with older versions of the framework. In order to archive this goal, each library has a version.
There are two different version numbers with different meanings:
•The project's version, defined in the Core library Dataweb.NShape.dll. If specifies which repositories can be loaded. This version is saved with the project settings. This version number has nothing to do with the library version numbers of custom shape- and model object libraries but it specifies the version number of all objects in the library namespace "Core".
•The library version. This version number is specific for each custom shape- or model object library and defined by the library itself. You have to pass this version number as argument when registering your library with the framework by calling IRegistrar.RegisterLibrary.
The second of these two version numbers is the one that is passed to all the load- and save methods of the IEntity interface. It specifies the version of your library that was used with the repository when it was created. This version is saved for each loaded library separately.