The uigen config file is the configuration file for uigen.exe.
It specifies "placeholders" and their values, which uigen.exe
uses in
the templates.
There is also a settings
node with path information to uigen.exe templates.
Settings and <applicationGenerator template...>
The template
attribute contains the path to the uigen.exe
master file,
always TabbedEditor.xml
.
templateRoot
: which set of templates to use
for generating the web application project.
For re-motion version 1.13.6. and lower, these directories
are located under the Remotion
directory, the root directory
of the re-motion distribution. Since uigen.exe
can only
handle absolute paths, you must adapt them to your particular
location of that directory.
targetRoot
: This is the solution root, not the root directory
for the web project, i.e. the top-level directory for all your
Visual Studio sub-projects.
Just as the name suggests, the namespace settings are namespaces, NOT
paths:
projectNameSpaceRoot
: namespace of the web application projectdomainNameSpaceRoot
: namespace of the domain project
Visual Studio mildly enforces that the directory name of a project
is the same as the namespace, so this might not matter if you follow
this convention. However, if you don't, make sure that you specified
the namespace.
Instead of a listing with complicated syntactic variables, here
is an illustration of what is which, with the PhoneBook project
as example:
Placeholders
$ReferencesDir$
: the name of the directory in
the web application project for storing the
references to the domain- and re-motion assemblies
By convention, this node is named "References" in
Visual Studio, so that's probably what you will use
for the placeholder value.$DomainProjectName$
: the name of the node with the
domain project in Visual Studio.$DomainProjectAssembly$
: don't know, FIXME$WebProjectName$
: the of the node with the web application
project in Visual Studio. (generated byuigen.exe
.)$WebProjectAssembly$
: don't know, FIXME$USER_APPNAME$
: a string with the display name of the
web application (generated byuigen.exe
.)$USER_DEFAULT_ASPX_TOPIC$
: a string to be shown on thedefault.aspx
page showing the Start link to aid the user (the string
usually says "To start the application, just click 'Start'")$USER_DEFAULT_STARTPAGES$
: an invocation of the re:call
function to be called automatically after startup. In
other words, an URL-fragment for the browser to go to
after the user has clicked the 'Start' link$USER_STATUSBAR$
: don't know, FIXME$USER_CLASSIC_APPSTYLE$
: don't know, FIXME$USER_STORAGEPROVIDER$
: the name of the storage-provider, as
declared in the web project'sWeb.config
file (generated by
uigen.exe
)$USER_CATALOGNAME$
: the name of the database (and the
identifier for the connection string) in the web project's
Web.config
file (generated byuigen.exe
)$USER_LAYERSUPERTYPE$
: The identifier of the domain object
classes common ancestor (see also: layer super-type
Please note that these placeholders are not the
only ones that exist. Placeholders are also extracted from
the domain assemblies as well. You can find a
list of these extracted placeholders at
https://at-vie-remotion/svn/Remotion/trunk/ObjectBinding/Web.CodeGenerator/Core/Placeholder.cs
What's more, the values of settings are mirrored by placeholders,
but those placeholders have slightly different names:
projectNamespaceRoot
is mirrored by$PROJECT_ROOTNAMESPACE$
domainNamespaceRoot
is mirrored by$DOMAIN_ROOTNAMESPACE$
templateRoot
is mirrored by$ROOT_TEMPLATE_DIR$
targetRoot
is mirrored by$ROOT_TARGET_DIR$