From thorben.hoffmann at ils.uni-stuttgart.de Fri Aug 9 08:57:19 2019 From: thorben.hoffmann at ils.uni-stuttgart.de (Hoffmann, Thorben) Date: Fri, 9 Aug 2019 13:57:19 +0000 Subject: [gme-users] Library Refresher does not work with multiple library inclusions with same GUID Message-ID: <1435b091d5994a8880e8ed728f531243@ils.uni-stuttgart.de> Hello all, we have an issue with the Library Refresher. Some references can't be restored to the new library. The displayed warning reads as follows: [res://C:\Program%20Files%20(x86)\GME\Bin\Console.ocx/INFO.GIF][Step 1] Restoring references to the new library... [res://C:\Program%20Files%20(x86)\GME\Bin\Console.ocx/ERROR.GIF]Reference target element1 not found in new library! I think the reason is, in our metamodel the same library is attached multiple times. Once directly and also indirectly inside other libraries. For example the metamodel includes "lib A" and "lib B", but "lib B" also includes "lib A". So the metamodel includes 2 times "lib A" with the same GUID. For the Library Refresher itself, it seems to be no problem to have the same library multiple times with the same GUID. But to avoid GUID ambiguities GME changes the GUIDs of one of the included "lib A"s automatically every time the metamodel is opened. If I want to refresh "lib A" now, the GUIDs of the included library and the original library are not identical and the Library Refresher can't solve the references. (As I understand the Library Refresher compares the "BinGUID" (project_guid , element_guid) of elements in the old and new library for restoring the references.) My suggestion would be, to ensure that included libs get new, but deterministic, GUIDs while being attached to a metamodel/library or getting refreshed. Maybe the GUID of the library and the GUID of the project (metamodel/library) could be combined as new GUID. Or the namespaces of the libraries are used to get an unique identifier. Thanks and kind regards Thorben P.S. I tried to set up a minimal example, but in the example always the GUID of "lib A" included in "lib B" is changed. Thus there is no problem with refreshing "lib A" in the metamodel. However in our real metamodel the GUID of the "lib a", directly included in the metamodel, is always changed on opening the metamodel. -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image001.png Type: image/png Size: 174 bytes Desc: image001.png URL: