The phonebook project is structured like most re-motion projects at rubicon. We call this the canonical project structure.
Three sub-projects constitute a canonical re-motion project (or, actually, a canonical VS 2008 solution):
- a domain project with all the domain object classes
In the case of the PhoneBook project, this means: the .cs files and resource files implementing the three domain object classes
Location (for addresses)
Person (owners of phone-numbers and addresses)
PhoneNumber (what a phone-book is all about)
- a sample project for exercising those domain object classes, typically a console application
In the case of the PhoneBook project, this means: a console application that uses the domain object classes (the domain project). In real life, this usually is a console app converting legacy data and for basic testing.
- the web project
The first version of the web project is usually generated by uigen.exe from the domain assembly, i.e. the .DLL the domain project compiles to. In the case of the PhoneBook project, this essentially is the same application you can try out here: FIXME
What's more, the PhoneBook project assumes that the re-motion framework is located in a
Remotion sub-directory at the same level as the three sub-projects.
Here is an illustration of the directory structure. This matter really is as simple as think:
In Visual Studio: