Using the ExtensionsPoints API, the control added by assigning a command by specifying the "id" parameter in the extension of the project lifecycle is disabled when the project is reopened even if the execution permission is always enabled. I fixed the problem.
Since there is no default implementation of the HandleException() method of the CommandHandlerBase and EventHandlerBase classes, the default action when an exception occurred was to commit model edits, so changed to rollback.
Class names of parameters of ExtensionPoints.Events.Pages.RegisterOnBeforeChange and ExtensionPoints.Events.Pages.RegisterOnAfterChange methods (the base class name of the event handler was changed to Navigator...