| TechTalk Genome Wire Object Protocol v4.2 |
|
WOP Project File
<WireObjectProtocolProject xmlns="urn:TechTalk:Genome.Wop.Project">
<References [
refPath="assembly-lookup-path"]
><Schema assembly="schema-assembly"/>
<Reference assembly="referred-assemby1"/>
<Reference assembly="referred-assemby2"/>
...
</References><Input><File path="view-definition-file1.xml" />
<File path="view-definition-file2.xml" />
...
</Input><Output><DtoAssemblyfile="dto-assembly.dll"
[keyFile="dto-assembly-key-file.snk"]
[version="dto-assembly-version"]
[fileVersion="dto-assembly-file-version"]
[delaySigned="(true|false)"]
/><SerializerAssemblyfile="serializer-assembly.dll"
[version="serializer-assembly-version"]
[fileVersion="serializer-assembly-file-version"]
[keyFile="serializer-assembly-key-file.snk"]
[delaySigned="(true|false)"]
/> </Output><Settings><DtodtoSuperType="dto-base-class"
dtoRefSuperType="dtoref-base-class"
[dtoCollectionSuperType="dtocollection-base-class"]
[stripEntityNamespace="persistent-class-namespace-prefix"
dtoBaseNamespace="dto-class-namespace-prefix"
serializerBaseNamespace="serializer-class-namespace-prefix"]
[dtoTypeNamePostfix="dto-class-postfix"]
[dtoRefNamePostfix="dtoref-class-postfix"]
[dtoCollectionNamePostfix="dtocollection-class-postfix"]
[dtoMemberNaming="(DontChange|PascalCase|CamelCase)"]
[generateEqualsMethod="(true|false)"]
[generateTrackedDto="(true|false)"]
/> <Serializer
[generateFactoryMethod="(true|false)"]
/> <Configuration
[checkVersions="(true|false)"]
/> </Settings>
</WireObjectProtocolProject>
-
assembly-lookup-path
-
A folder name specifying the assembly lookup path where the referenced
assemblies will be searched. The assembly-lookup-path can be
an absolute path or a path relative to the location of the project file.
The folder of the project file will be used as lookup path if omitted.
-
schema-assembly
-
An assembly name specifies the Genome data domain schema assembly generated by
Genome Schema Compiler (ddsc.exe). Exactly one schema-assembly
has to be specified in the project file.
-
referred-assemby1, referred-assemby2, ...
-
Assembly names that specifies the assemblies containing the types referred from
the view definition files.
-
view-definition-file1.xml, view-definition-file2.xml, ...
-
Specifying the source view definition files of the compilation. The files can
be specified by an absolute file path or a file path relative to the location
of the project file. For details about view definition files see View Definition File Syntax Guide.
-
dto-assembly.dll
-
The file name of the assembly that will contain the generated DTO, DTO reference and DTO collection types.
The file name can be specified by an absolute file path or a file path relative to the location
of the project file.
-
dto-assembly-version
-
The assembly version of the generated DTO assembly in major.minor.build.revision form.
The system default version will be used if dto-assembly-version is omitted.
-
dto-assembly-file-version
-
The Win32 file version of the generated DTO assembly in major.minor.build.revision form.
The system default version will be used if dto-assembly-file-version is omitted.
-
dto-assembly-key-file.snk
-
The name of the file containing the key pair used to generate a strong name for the DTO assembly.
The file name can be specified by an absolute file path or a file path relative to the location
of the project file.
The generated assembly won't have strong name if this attribute is omitted.
-
serializer-assembly.dll
-
The file name of the assembly that will contain the generated serializer classes.
The file name can be specified by an absolute file path or a file path relative to the location
of the project file.
-
serializer-assembly-version
-
The assembly version of the generated serializer assembly in major.minor.build.revision form.
The system default version will be used if serializer-assembly-version is omitted.
-
serializer-assembly-file-version
-
The Win32 file version of the generated serializer assembly in major.minor.build.revision form.
The system default version will be used if serializer-assembly-file-version is omitted.
-
serializer-assembly-key-file.snk
-
The name of the file containing the key pair used to generate a strong name for the Serializer assembly.
The file name can be specified by an absolute file path or a file path relative to the location
of the project file.
The generated assembly won't have strong name if this attribute is omitted.
-
delaySigned
-
If true the generated DTO/serializer assembly will be delay signed, if
false or omitted the generated assembly will use the standard signing method.
-
dto-base-class
-
A type that specifies the common base class for the generated DTO classes.
-
dtoref-base-class
-
A type that specifies the common base class for the generated DTO reference classes.
-
dtocollection-base-class
-
A type that specifies the common base class for the generated DTO collection classes.
The CollectionBase will be used if omitted.
-
persistent-class-namespace-prefix
-
A namespace prefix that will be replaced by dto-class-namespace-prefix
and serializer-class-namespace-prefix when generating the DTO and serializer
classes. The namespace of the persistent classes will be used for DTO and serializer classes if omitted.
-
dto-class-namespace-prefix
-
A namespace prefix that specifies the namespace of the generated DTO, DTO reference and DTO collection classes.
-
serializer-class-namespace-prefix
-
A namespace prefix that specifies the namespace of the generated serializer classes.
-
dto-class-postfix
-
A type name postfix that will be appended to the name of the persistent type when generating DTO classes.
The postfix "Dto" will be used if omitted.
-
dtoref-class-postfix
-
A type name postfix that will be appended to the name of the persistent type when generating DTO reference classes.
The postfix "DtoRef" will be used if omitted.
-
dtocollection-class-postfix
-
A type name postfix that will be appended to the name of the persistent type when generating DTO collection classes.
The postfix "DtoCollection" will be used if omitted.
-
dtoMemberNaming
-
The naming convention that is used to determine the name of the DTO member name.
-
generateEqualsMethod
-
If true or omitted the generated DTO class will contain a "ValueEquals" method.
This method can be used to compare a DTO object to another one. The comparation is not sensitive
to the collection properties and the view used to serialize
the singular references. Also a "GetValueHashCode" method is generated together with the "ValueEquals"
which provides hash code for the value equality.
If the dto-base-class contains public virtual methods with these names,
the generated methods will override the methods on the base class.
-
generateTrackedDto
-
If true or omitted the generated DTO class will be update tracked.
-
generateFactoryMethod
-
If true or omitted the generated Serializer class will contain a "CreateInstance" method
can be used to initialize a new persistent instance from a DTO instance. The factory method will be generated
for all persistent classes that have public default constructor defined.
-
checkVersions
-
Wopc.exe checks if the Genome assemblies refered from the business schema assemblies are of
the same version as the assemblies refered from wopc.exe itself.
In case of version mismatch an error will be reported.
In order to suppress this check, the checkVersions switch has to be set to
false. This attribute defaults to true.
Examples
<?xml version="1.0" ?>
<WireObjectProtocolProject xmlns="urn:TechTalk:Genome.Wop.Project">
<References refPath="bin\debug\">
<Schema assembly="Northwind.Business.Mapping"/>
<Reference assembly="Northwind.Dto.Services"/>
<Reference assembly="Northwind.Business"/>
</References>
<Input>
<File path="ViewOrders.xml" />
<File path="ProcessOrders.xml" />
<File path="ManageEmployees.xml" />
</Input>
<Output>
<DtoAssembly file="bin\debug\Northwind.Dto.dll" />
<SerializerAssembly file="bin\debug\Northwind.Dto.Serializers.dll" />
</Output>
<Settings>
<Dto
dtoSuperType="Northwind.Dto.DtoSuperType, Northwind.Dto.Services"
dtoRefSuperType="Northwind.Dto.DtoRefSuperType, Northwind.Dto.Services"
dtoCollectionSuperType="System.Collections.CollectionBase, System"
stripEntityNamespace="Northwind.Business"
dtoBaseNamespace="Northwind.Dto"
serializerBaseNamespace="Northwind.Dto.Serializers"
dtoTypeNamePostfix="Dto"
dtoRefNamePostfix="DtoRef"
dtoCollectionNamePostfix="DtoCollection"
/>
</Settings>
</WireObjectProtocolProject>
See Also
Wire Object Protocol Compiler Command Line Options