Class ServiceExtensionLayout
Everything one generated extension will be called and where every file of it lands, resolved once from
a ServiceExtensionCreator.Input before anything is written. The wizard shows this plan, the
collision check refuses it when any part of it is already taken, and the creation engines execute it — so
the plan shown is the plan executed.
Every extension owns one child folder of the target, named after its Root
({Target}/{Root}/), and its layer folders and assembly definitions live beneath it. Unity allows
one assembly definition per folder, so a second extension generated into the same target never shares
a folder with the first, and the assembly names — Serenity.{Root}.{Layer} — derive from the same
root as the folder.
A path left null is a file this run does not generate.
Inheritance
ServiceExtensionLayout
Assembly: Serenity.ServiceExtensionCreator.Editor.dll
Syntax
public sealed class ServiceExtensionLayout
Constructors
ServiceExtensionLayout()
Declaration
public ServiceExtensionLayout()
Properties
ClassFolder
Declaration
public string ClassFolder { get; }
Property Value
ClassNamespace
Declaration
public string ClassNamespace { get; }
Property Value
ClassScriptPath
Declaration
public string ClassScriptPath { get; }
Property Value
CodeLayerAsmdefPath
Declaration
public string CodeLayerAsmdefPath { get; }
Property Value
CodeLayerAssemblyName
Declaration
public string CodeLayerAssemblyName { get; }
Property Value
CodeLayerFolder
Declaration
public string CodeLayerFolder { get; }
Property Value
CodeLayerName
Declaration
public string CodeLayerName { get; }
Property Value
ExtensionFolderPath
The extension's own child folder of the target, {Target}/{Root}.
Declaration
public string ExtensionFolderPath { get; }
Property Value
GeneratedTypeFullName
The namespace-qualified name of TypeName, checked against every loaded type.
Declaration
public string GeneratedTypeFullName { get; }
Property Value
HasClassScript
Declaration
public bool HasClassScript { get; }
Property Value
InstallationAsmdefPath
Declaration
public string InstallationAsmdefPath { get; }
Property Value
InstallationAssemblyName
Declaration
public string InstallationAssemblyName { get; }
Property Value
InstallationFolder
Declaration
public string InstallationFolder { get; }
Property Value
InstallersFolder
Declaration
public string InstallersFolder { get; }
Property Value
PlannedAssemblies
Every assembly this run declares, one per generated assembly definition.
Declaration
public IReadOnlyList<PlannedAssembly> PlannedAssemblies { get; }
Property Value
PlannedFilePaths
Every file this run writes, in the order it writes them.
Declaration
public IReadOnlyList<string> PlannedFilePaths { get; }
Property Value
ReadmePath
Declaration
public string ReadmePath { get; }
Property Value
Root
The name every folder, namespace and assembly of the extension is built from.
Declaration
public string Root { get; }
Property Value
RootNamespace
Declaration
public string RootNamespace { get; }
Property Value
SettingsAssetPath
The replacement task asset (Service kind) or the backend definition asset (Store/Installer kinds).
Declaration
public string SettingsAssetPath { get; }
Property Value
SettingsFolder
Declaration
public string SettingsFolder { get; }
Property Value
TargetFolderPath
The target folder the author picked.
Declaration
public string TargetFolderPath { get; }
Property Value
TestScriptPath
Declaration
public string TestScriptPath { get; }
Property Value
TestsAsmdefPath
Declaration
public string TestsAsmdefPath { get; }
Property Value
TestsAssemblyName
Declaration
public string TestsAssemblyName { get; }
Property Value
TestsFolder
Declaration
public string TestsFolder { get; }
Property Value
TestsNamespace
Declaration
public string TestsNamespace { get; }
Property Value
TypeName
The generated type — the class for every kind but Installer, whose generated type is the wiring subclass.
Declaration
public string TypeName { get; }
Property Value
WiringNamespace
Declaration
public string WiringNamespace { get; }
Property Value
WiringScriptPath
Declaration
public string WiringScriptPath { get; }
Property Value
WiringTypeName
The generated wiring type — an installer, a replacement or an installer subclass; null when none is generated.
Declaration
public string WiringTypeName { get; }
Property Value