In Objo Studio I had the editor on the Run event of command line project A, then added project B. This made B the selected / active project, but confusingly, I'm still looking at the Run event of Project A. I guess I expected that editor to close A's App class because A is no longer the active project.
After fiddling a bit I see that one has to go back to Solution, get the tree up, navigate to the new project, and then if say you add Run event code to project B then you have another app "breadcrumb tab" like so:
[App x] [App x]
This all makes sense now that I understand the intended flow, but I can see into the future with my special crystal ball and I see something like this:
[Solution x] [SomeSharedClass. x] [SomeSharedModule x] [App x] [App x] [App x] [App. x] [App x]
Of course I can hit the tiny close button and just keep the [App x] I'm currently working on up, but I might well have reasons to switch between two or more project's App class.
The problem here is that every project has a unique name but it appears that each project must have an entry point / startup class named App (the UI doesn't allow you to rename it) and this results in difficulty in distinguishing one App from the other(s).
In Visual Studio (or Ryder for that matter) you can name a startup class anything you want and just designate it as the startup / entry class; it's a design time project-level property of that class. That seems the cleanest solution. Either that, or for the App class of the project, have Objo Studio expliciate it in the tab:
[App (ProjectName) x]
Of course a startup item in any system must have a Run event or Main() function or whatever the runtime is looking for as an entry point. That can be a required parent class or interface implementation or just a convention. But I think it's fundamentally confusing to have an open ended # of projects (that have to live in a single solution because the solution is the only way to share library code short of copying it, at least for now) all with an identically named class.