SandcastleBuilder.Utils
This class is used to convert conceptual content settings in version
1.7.0.0 and prior SHFB project files to the new MSBuild format.
Constructor
The project converter object
This is used to convert the conceptual content from the old project
into the format required by the new project.
This converts the token entries to a token file and adds it to
the project.
This adds all image files to the project
This converts the topic entries to a content file and adds it to
the project.
Convert a conceptual content topic and all of its children
The XML reader containing the topics
The XML writer to which they are written
The project to which the files are added
Convert a conceptual topic to the new format
The source file
The destination file
The topic ID
The revision number
This class represents all of the properties that make up a Sandcastle
Help File Builder project.
This interface defines the properties used to obtain a base path for
a object.
This read-only property returns the base path
The default configuration
The default platform
This raises the event.
The event arguments
This raises the event.
The event arguments
This will also mark the project as dirty
This raises the event.
The event arguments
This raises the event.
The event arguments
This is used to see if the property
should be serialized.
True to serialize it, false if it matches the default
and should not be serialized.
This is used to reset the property
to its default value.
This is used to see if the property
should be serialized.
True to serialize it, false if it matches the default
and should not be serialized.
This is used to reset the property
to its default value.
This is used to see if the
property should be serialized.
True to serialize it, false if it matches the default
and should not be serialized.
We do not allow resetting this property as it is a
collection and we don't want to lose all items accidentally.
This is used to see if the
property should be serialized.
True to serialize it, false if it matches the default
and should not be serialized.
We do not allow resetting this property as it is a
dictionary and we don't want to lose all items accidentally.
This is used to see if the
property should be serialized.
True to serialize it, false if it matches the default
and should not be serialized.
We do not allow resetting this property as it is a
dictionary and we don't want to lose all items accidentally.
This is used to see if the property
should be serialized.
True to serialize it, false if it matches the default
and should not be serialized.
We do not allow resetting this property as it is a
collection and we don't want to lose all items accidentally.
This is used to see if the property
should be serialized.
True to serialize it, false if it matches the default
and should not be serialized.
We do not allow resetting this property as it is a
collection and we don't want to lose all items accidentally.
This is used to see if the
property should be serialized.
True to serialize it, false if it matches the default
and should not be serialized.
We do not allow resetting this property as it is a
design-time only property.
This is used to initialize the local property info and property
descriptor caches.
This is handled to mark the project as dirty when the list of
documentation sources changes.
The sender of the event
The event parameters
This is handled to mark the project as dirty when the various
collection properties are modified.
The sender of the event
The event parameters
This is used to ensure that the project is editable before a
sub-property on a project path property object is changed.
The sender of the event
The event arguments
This is used to ensure that path properties are written to the
project when one of their sub-properties is edited.
The sender of the event
The event arguments
Replace a \xNN value in the copyright text with its actual
character.
The match that was found
The string to use as the replacement
This is used to load the properties from the project file
This is used to set the named property to the specified value
using Reflection.
The name of the property to set
The value to which it is set
The parsed object value to which the property was set.
Property name matching is case insensitive as are the
values. This is used to allow setting of simple project properties
(non-collection) from the MSBuild project file. Unknown properties
are ignored.
This is thrown if the
name parameter is null or an empty string.
This is thrown if an error
occurs while trying to set the named property.
Set the value of an MSBuild project property that matches a
property on this class by name.
Name of property
Value of property
This is thrown if the property
name is null, an empty string, or is not a recognized property
name.
Get a collection containing all user-defined properties
A collection containing all properties determined not to
be help file builder project properties, MSBuild build engine
related properties, or environment variables.
This is used to determine whether or not the given name can be
used for a user-defined project property.
The name to check
True if it can be used, false if it cannot be used
Constructor
There are five overloads for the constructor
Load a Sandcastle Builder project from the given filename.
The filename to load
Specify true if the file must exist
or false if a new project should be created if the file does
not exist.
This is thrown if a filename
is not specified or if it does not exist and mustExist is
true.
This is used to create a Sandcastle Builder project from an
existing MSBuild project instance.
The existing project instance
True to load final values (i.e. for
build) or false to load design-time values.
It is assumed that the project has been loaded, the
property values are current, and, if using final values, that the
configuration and platform have been set in the MSBuild project
global properties.
This is used to clone an existing project in order to build it
without affecting the existing project's properties.
The project to clone
True to load final values (i.e. for
build) or false to load design-time values.
This is used to perform partial builds where we may want
to use alternate property values.
This is used to mark the project as dirty and in need of being
saved.
This event is raised to let interested
parties know that the project's dirty state has been changed.
This is used to determine the default build action for a file based
on its extension.
The filename to use
The build action based on the extension
Add a new folder build item to the project
The folder name
The new .
If the folder does not exist in the project, it is added
and created if not already there. If the folder is already part of
the project, the existing item is returned.
This is thrown if the path
matches the project root path or is not below it.
Add a new file build item to the project
The source filename
The optional destination path. If empty,
null, or it does not start with the project folder, the file is
copied to the root folder of the project.
The new .
If the file does not exist in the project, it is copied to
the destination path or project folder if not already there. The
default build action is determined based on the filename's
extension. If the file is already part of the project, the
existing item is returned.
This is used to locate a file by name in the project
The fully qualified file path to find
The file item if found or null if not found
This is used to ensure that all local collection project properties
have been stored in the MSBuild project file and that path-type
properties are current based on the current project location.
True to force an update of all affected
properties or false to only update those that need it.
This only affects the property-based collection properties
and path-type properties. Simple types and item group element
properties are stored when modified.
This is used to save the project file
The filename for the project
This returns true if the project contains items using the
given build action.
The build action for which to check
True if at least one item has the given build action or
false if there are no items with the given build action.
This read-only property is used to get the underlying MSBuild
project.
This read-only property is used to get whether or not the project
is using final values for the project properties.
If true, final values (i.e. evaluated values used at build
time) are being returned by the properties in this instance.
This read-only property is used to get the filename for the project
This is used to get or set the configuration to use when building
the project.
This value is used for project documentation sources and
project references so that the correct items are used from them.
This is used to get or set the platform to use when building the
project.
This value is used for project documentation sources and
project references so that the correct items are used from them.
This is used to get or set the MSBuild OutDir property value
that is defined when using Team Build.
This value is used for project documentation sources and
project references so that the correct items are used from them.
This is used to get the dirty state of the project
This is used to get a collection of reference dependencies (files,
GAC, COM, or project) for MRefBuilder if needed.
Returns the list of documentation sources to use in building the
help file.
This read-only property is used to get the build log file
location.
If is set, it returns its
value. If not set, it returns the full path created by using
the property value and a filename of
LastBuild.log.
This is used to get the copyright notice that appears in the footer
of each page with any hex value place holders replaced with their
actual character.
This read-only helper property returns the flags to use when
looking for missing tags.
This read-only helper property returns the flags used to indicate
which optional items to document.
This returns a collection of all build items in the project that
represent folders and files.
This collection is generated each time the property is
used. As such, cache a copy if you need to use it repeatedly.
Returns the list of namespace summaries
This is used to set or get the project summary comments
These notes will appear in the root namespaces page if
entered.
This is used to set or get the path to the HTML 1.x help compiler
(HHC.EXE).
You only need to set this if the builder cannot determine
the path for itself.
This is used to set or get the path to the HTML 2.x help compiler
(HXCOMP.EXE).
You only need to set this if the builder cannot determine
the path for itself.
This is used to set or get the path to which the help files
will be generated.
The default is to create it in a folder called
Help in the same folder as the project file.
Warning: If building a web site, the output folder's
prior content will be erased without warning prior to copying
the new web site content to it!
This is used to set or get the path to the Sandcastle components
You only need to set this if the builder cannot determine
the path for itself.
This is used to set or get the path to the working folder used
during the build process to store the intermediate files.
This can be used to perform the build in a different
location with a shorter path if you encounter errors due to long
file path names. If not specified, it defaults to a folder
called .\Working under the folder specified by the
property.
Warning: All files and folders in the path specified
in this property will be erased without warning when the build
starts.
This is used to set or get whether intermediate files are
deleted after a successful build.
The default value is true.
This is used to set or get whether or not the log file is retained
after a successful build.
The default value is true.
This is used to set or get the path and filename of the build
log file.
If not specified, a default name of LastBuild.log
is used and the file is saved in the path identified in the
property.
This is used to set or get the help file format generated by the
build process.
The default is to produce an HTML Help 1.x format file
built using HHC.exe.
If building a web site, the output folder will be cleared
before the new content is copied to it.
This is used to set or get whether to fix-up the XML comments files
to work around an issue with those generated by the C++ compiler.
The default value is false.
The C++ compiler generates method signatures that differ
from the other .NET compilers for methods that take generics as
parameters. These methods fail to get documented as they do not
match the output of MRefBuilder. The C# and VB.NET
compilers generate names that do match it and this option is not
needed for comments files generated by them. Set this to true if
the project contains C++ compiler generated XML comments files and
your project contains methods that take generic types for
parameters.
This is used to set or get the .NET Framework version to which the
documentation links for system types should point.
If not found, it will default to the most recent version
of the framework installed.
This is used to get a dictionary of build component configurations.
This allows you to configure the settings for third
party build components if they support it.
This is used to get a dictionary of build process plug-in
configurations.
This allows you to select and configure the settings for
third party build process plug-ins.
This is used to present a design-time property that is used for
editing user-defined project file properties.
The designer attached to the property handles updating
the user-defined project properties.
This is used to set or get the placement of any additional and
conceptual content items in the table of contents.
The default is to place additional and conceptual content
items above the namespaces.
This is used to set or get whether or not the HTML rendered by
BuildAssembler is indented.
This is mainly a debugging aid. Leave it set to false,
the default to produce more compact HTML.
This is used to set or get whether or not all pages should be
marked with a "preliminary documentation" warning in the page
header.
This is used to set or get whether or not a root namespace entry
is added to the table of contents to act as a container for the
namespaces from the documented assemblies.
If true, a root Namespaces table of contents entry
will be created as the container of the namespaces in the
documented assemblies. If false, the default, the namespaces are
listed in the table of contents as root entries.
This is used to set or get an alternate title for the root
namespaces page and the root table of contents container that
appears when is set to true.
If left blank (the default), the localized version of the
text "Namespaces" will be used.
This is used to set or get the help file's title
This is used to set or get the name of the compiled help file.
Do not include a path or the extension. For HTML Help 2 builds,
this is also used as the collection namespace name (avoid spaces).
This is used to set or get the language option for the help file
and to determine which set of presentation resource files to use.
If a matching set of presentation resources cannot be
found for the specified language, the US English set will be
used.
This is used to set or get the URL to use as the link for the
copyright notice.
If not set, the see cref="CopyrighText"/> (if any) is not
turned into a clickable link.
This is used to set or get the copyright notice that appears in
the footer of each page.
If not set, no copyright note will appear. If a
is specified without copyright text,
the URL appears instead.
This is used to set or get the feedback e-mail address that
appears in the footer of each page.
If not set, no feedback link will appear. If
is set, that text will appear
as the text for the link. If not set, the e-mail address is used
as the link text.
This is used to set or get the feedback e-mail link text that
appears in the feedback e-mail link in the footer of each page.
If set, this text will appear as the link text for the
link. If not set, the e-mail
address is used for the link text.
This is used to set or get additional text that should appear
in the header of every page.
This is used to set or get additional text that should appear
in the footer of every page.
This is used to set or get the type of links used to reference
other help topics referring to items within the documented
assemblies.
The default is to produce local links.
This is used to set or get the type of links used to reference
other help topics referring to framework (SDK) help topics.
The default is to produce MSDN links.
This is used to set or get the target window for MSDN SDK links.
The default is Blank to open the MSDN topics in a
new window. This option only has an effect if the
property is set to MSDN.
This is used to set or get the presentation style for the help
topic pages.
The default is to use the VS2005 style.
This is used to set or get the naming method used to generate the
help topic filenames.
The default is to use GUID values as the filenames.
This is used to set or get the language filters which determines
which languages appear in the Syntax section of the help
topics.
The default is Standard (C#, VB.NET, and C++).
This is used to set or get whether or not the feedback control is
visible in presentation styles that support it.
If true and the presentation style supports it, the
feedback control is shown in the topic page footer.
This property may be obsolete. It was added for
the Sandcastle October 2007 CTP. However, as of the January 2008
release, the feedback control is no longer present. As such, this
property may be removed at a later date.
This is used to set or get the path to the Sandcastle components
This can significantly reduce the amount of time
required to load a very large help document.
This is used to set or get whether or not a Favorites tab will
appear in the help file.
This is used to set or get the collection table of contents style
used when plugged into an HTML Help 2 collection.
The default is Hierarchical.
This is used to set or get whether or not to include the stop word
list used to identify words to omit from the Help 2 full text
search index.
This is used to set or get a comma-separated list of namespaces
that the collection will be plugged into when deployed using
H2Reg.exe.
This is used to set or get the version number applied to the
help file.
The default is 1.0.0.0
This is used to get a collection of additional Help 2 attributes
that will be added to each generated help topic.
The attributes are added by a custom build component in
the BuildAssembler step.
This is used to get or set whether or not missing namespace
comments are indicated in the help file.
Set this to true to add a message to the help topic
to indicate that the <summary> tag is missing. A message
is also written to the log file.
This is used to get or set whether or not missing <summary>
tags are indicated in the help file.
Set this to true to add a message to the help topic
to indicate that the <summary> tag is missing. A message
is also written to the log file.
This is used to get or set whether or not missing <param>
tags are indicated in the help file.
Set this to true to add a message to the help topic
to indicate that a <param> tag is missing. A message
is also written to the log file.
This is used to get or set whether or not missing <typeparam>
tags on generic types and methods are indicated in the help file.
Set this to true to add a message to the help topic
to indicate that a <typeparam> tag is missing from a generic
type or method. A message is also written to the log file.
This is used to get or set whether or not missing <returns>
tags are indicated in the help file.
Set this to true to add a message to the help topic
to indicate that the <returns> tag is missing. A message
is also written to the log file.
This is used to get or set whether or not missing <value>
tags are indicated in the help file.
Set this to true to add a message to the help topic
to indicate that the <value> tag is missing. A message
is also written to the log file.
This is used to get or set whether or not missing <remarks>
tags are indicated in the help file.
Set this to true to add a message to the help topic
to indicate that the <remarks> tag is missing. A message
is also written to the log file.
This is used to get or set whether or not constructors are
automatically documented if they are missing the <summary>
tag and for classes with compiler generated constructors.
Set this to true to automatically add default text for the
<summary> tag on constructors that are missing it and for
classes with a compiler generated constructor. If set to false
and is true, a "missing summary"
warning will appear instead. A message is also written to the log
file.
This is used to get or set whether or not missing <include>
tag target documentation is indicated in the help file.
Set this to true to add a message to the help topic
to indicate that the <include> tag's target documentation is
missing. A message is also written to the log file.
This is used to get or set whether or not attributes on types and
members are documented in the syntax portion of the help file.
Set to true to document attributes or false to hide them
This is used to get or set whether or not explicit interface
implementations are documented.
Set to true to document explicit interface implementations
or false to hide them.
This is used to get or set whether or not inherited members
are documented.
Set to true to document inherited members or false to
hide them.
This is used to get or set whether or not inherited framework
members are documented.
Set to true to document inherited framework members or
false to hide them. For this to work,
must also be enabled.
This is used to get or set whether or not inherited private
framework members are documented.
Set to true to document inherited private framework members
or false to hide them. For this to work,
and
must also be enabled.
This is used to get or set whether or not inherited internal
framework members are documented.
Set to true to document inherited internal framework members
or false to hide them. For this to work,
and
must also be enabled.
This is used to get or set whether or not internal members are
documented in the help file.
Set to true to document internal members or false to hide
them
This is used to get or set whether or not private members are
documented in the help file.
Set to true to document private members or false to hide
them
This is used to get or set whether or not private fields are
documented in the help file.
Set to true to document private fields or false to hide
them. For this to work, must
also be enabled.
Private fields are most often used to back properties
and do not have documentation. With this set to false, they
are omitted from the help file to reduce unnecessary clutter.
This is used to get or set whether or not protected members are
documented in the help file.
Set to true to document protected members or false to hide
them
This is used to get or set whether or not "protected internal"
members are documented as "protected" only in the help file.
Set to true to document "protected internal" members
as "protected" only or false to document them normally. This
option is ignored if is false.
This is used to get or set whether or not protected members of
sealed classes are documented in the help file.
Set to true to document protected members of sealed classes
or false to hide them. For this to work,
must also be enabled.
This is used to get the API filter collection.
This event is raised when a property is about to be changed to see
if the project file can be edited.
If the project file cannot be edited, the handler should
cancel the event so that the property is not changed.
This event is raised when a property is changed
This event is raised when the dirty property changes
This event is raised when the assembly list is modified
This is a type editor that can display a folder browser dialog to
allow selection of a folder path at design time.
This can be used in conjunction with the
to specify the folder browser
dialog's properties.
This is overridden to edit the value using a folder browser dialog.
The descriptor context
The provider
The folder path as an object
The selected folder path as an object
This is overridden to specify the editor's edit style
The descriptor context
Always returns Modal as long as there is a context
and an instance. Otherwise, it returns None.
This represents a project reference item that can be used by
MRefBuilder to locate assembly dependencies for the assemblies
being documented.
This represents a reference item that can be used by MRefBuilder
to locate assembly dependencies for the assemblies being documented.
This is a base wrapper class for a build item in the project
Constructor
The project element associated with the
instance
This returns the project element associated with the instance
This is used to see if the property should
be serialized.
True to serialize it, false if it matches the default
and should not be serialized. This property cannot be reset
as it should always have a value.
This is used to handle changes in the
properties such that the hint path gets stored in the project file.
The sender of the event
The event arguments
Internal Constructor
The project element
See if specified item equals this one by name alone
The object to compare to this one
True if equal, false if not
Get a hash code for this item
Returns the hash code for the assembly path and
XML comments path.
Return a string representation of the item
Returns the assembly path and XML comments path separated
by a comma.
This is used to filter out the property if
not used.
The property descriptor collection to filter
The filtered property descriptor collection
This is used to set or path to the dependency
For GAC dependencies, this should be null.
This is used to get the reference description
This is used to handle changes in the
properties such that the hint path gets stored in the project file.
The sender of the event
The event arguments
This is used to get the build item meta data from the referenced
project.
True to force the metadata to be refreshed,
false to only retrieve it if it doesn't exist.
Internal Constructor
The project element
This is used to set or path to the project
Hint path isn't applicable to project references
This is overridden to return the project name rather than the
file path.
This is used to get the project reference's GUID
This is used to get the project name
This collection class is used to hold the configurations for third
party build process plug-ins such as the AjaxDoc plug-in.
This raises the event.
The event arguments
The dictionary doesn't raise events automatically so
this is raised manually as needed.
Default constructor
The project that owns the collection
This is used to load existing plug-in configuration items from
the project file.
The plug-in items
The information is stored as an XML fragment
This is used to write the plug-in configuration info to an XML
fragment ready for storing in the project file.
The XML fragment containing the plug-in configuration
info.
Add a new item to the dictionary
The plug-in ID
True for enabled, false disabled
The plug-in configuration
The added to the
project. If the ID already exists in the collection, the existing
item is returned.
The constructor is
internal so that we control creation of the items and can
associate them with the project.
This returns a reference to the owning project file
This is used to get or set the dirty state of the collection
This event is raised when the dictionary is modified
This task is used to run HXCOMP.EXE which is used to compile a Help 2
(HxS) help file.
Validate the parameters
True if the parameters are valid, false if not
This returns the full path to the tool
The full path to the tool
Generate the command line parameters
The command line parameters
This is overridden to set the working folder before executing
the task and to dump the compiler log file after the build.
True if successful or false on failure
This is overridden to invert the result of the HXCOMP exit code
True on success, false on failure. HXCOMP returns 0
on success, 1 if warnings were issued (which is okay), and another
non-zero value for failures. We ignore the warning return code and
treat it as successful.
This read-only property returns the tool name (HXCOMP.EXE)
This is overridden to force all standard error info to be logged
This is overridden to force all standard output info to be logged
This is used to pass in the working folder where the files are
located.
This is used to pass in the path to the help compiler
This is used to pass in the name of the help file (no path or
extension).
This is used by the comments cache to report a warning message
Constructor
The message text
The message to report
This form is used to edit the help index keyword collection
Required designer variable.
Clean up any resources being used.
true if managed resources should be disposed; otherwise, false.
Required method for Designer support - do not modify
the contents of this method with the code editor.
Constructor
The item collection to edit
Close the form
The sender of the event
The event arguments
Delete the selected keyword
The sender of the event
The event arguments
View help for this form
The sender of the event
The event arguments
Mark the collection as dirty if changed
The sender of the event
The event arguments
This is a type editor that displays the
to edit the help index keywords
for a topic.
This is overridden to edit the value using the
dialog.
The descriptor context
The provider
The help index keyword collection as an object
The edited help index keyword collection as an object
This is overridden to specify the editor's edit style
The descriptor context
Always returns Modal as long as there is a context
and an instance. Otherwise, it returns None.
This form is used to edit the help attribute collection
Constructor
The item collection to edit
If true, the Default button is hidden as
topics don't need to include the default attributes. They are
added automatically at build time.
Close the form
The sender of the event
The event arguments
Add new help attribute
The sender of the event
The event arguments
Delete the selected attribute
The sender of the event
The event arguments
Insert a default set of attributes if they are not already there
The sender of the event
The event arguments
View help for this form
The sender of the event
The event arguments
Mark the collection as dirty if changed
The sender of the event
The event arguments
Required designer variable.
Clean up any resources being used.
true if managed resources should be disposed; otherwise, false.
Required method for Designer support - do not modify
the contents of this method with the code editor.
This is used to define the position of a custom build component within
the Sandcastle configuration file.
Constructor
Constructor
The XPath navigator containing the configuration
This read-only property returns the placement value
This read-only property returns the ID of the component
If not specified, use .
This read-only property returns the type name of the component
If not specified, use .
This read-only property returns the instance of the component
to replace, insert before, or insert after.
If not specified 1 is assumed.
This property is used to get or set the instance of the component
to replace, insert before, or insert after adjusted for other
components that have already been processed.
This enumeration defines the placement values
Place the component before the one indicated.
Place the component after the one indicated.
Insert the component at the start of the configuration
file.
Insert the component at the end of the configuration
file.
Replace the indicated component configuration with
this one.
The component is not used in this configuration
This class is an abstract base class used to convert a project in
another format to the new MSBuild format project files used by
SHFB 1.8.0.0 and later.
Constructor
The old project filename
The folder in which to place the new project
and its related files. This cannot be the same folder as the
old project file.
This is used to perform the actual conversion
The new project filename on success. An exception is
thrown if the conversion fails.
This can be called after all additional content has been added
to create the Folder build items in the project.
This is used to set the named property to the specified value
using Reflection.
The name of the property to set
The value to which it is set
Property name matching is case insensitive as are the
values themselves. This is used to allow setting of simple project
properties (non-collection) using command line parameters in the
console mode builder.
This is thrown if the
name parameter is null or an empty string.
This is thrown if an error
occurs while trying to set the named property.
The parsed object value to which the property was set.
This converts a relative path to a full path using the old
project's folder.
The path to convert
The fully qualified path
This is used to expand a wildcard into all matching files
The wildcard to expand.
True to include subfolders, false
to only include the given folder.
The list of matching files.
Get the XML text reader used for the conversion
Get the new project folder
Get the old project folder
Get the old project filename
Get the new project
This class is used to convert Stephan Smetsers Sandcastle GUI project
files to the MSBuild format project files used by the help file builder.
Constructor
The old project filename
The folder in which to place the new project
and its related files. This cannot be the same folder as the
old project file.
This is used to perform the actual conversion
The new project filename on success. An exception is
thrown if the conversion fails.
Add additional content to the project
The folder containing the content
An XML reader isn't used by this converter
This class is used to convert the Microsoft example Sandcastle GUI
project files to the MSBuild format project files used by the help
file builder.
Constructor
The old project filename
The folder in which to place the new project
and its related files. This cannot be the same folder as the
old project file.
This is used to perform the actual conversion
The new project filename on success. An exception is
thrown if the conversion fails.
An XML reader isn't used by this converter
This collection class is used to hold the XML comments files
during the build process.
Save the comments files
Search all comments files for the specified member. If not found,
add the blank member to the first file.
The member name for which to search.
The XML node of the found or added member
This will search for all type member comments where the ID
contains NamespaceDoc and convert them to namespace entries
for the containing namespace.
The converted ID effectively converts the comments into
comments for the class's containing namespace.
Returns a list of the comment file paths in a format suitable
for inserting into a Sandcastle Configuration file.
The working folder path
True if generating the list for the
inherited documentation tool or false for sandcastle.config.
The comment file list XML tags
This read-only property returns true if any of the comments files
contain an <inheritdoc /> tag indicating that the Inherited
Documentation tool will need to be ran.
This represents a table of contents entry. This is used to build the
table of contents entries for additional content items.
Compares this instance to another instance and returns an
indication of their relative values.
A TocEntry object to compare
Returns -1 if this instance is less than the
value, 0 if they are equal, or 1 if this instance is
greater than the value or the value is null.
The property is compared first.
If equal, the property is used.
Clone this table of contents entry
A clone of this table of contents entry
Mark the project as dirty if the contained lists change
The sender of the event
The event arguments
This may not be the best way to handle this.
Constructor
The base path provider
Overload for equal operator
The first TOC entry object
The second TOC entry object
True if equal, false if not.
Overload for not equal operator
The first TOC entry object
The second TOC entry object
True if not equal, false if they are equal.
Overload for less than operator
The first TOC entry object
The second TOC entry object
True if t1 is less than t2, false if not.
Overload for greater than operator
The first TOC entry object
The second TOC entry object
True if t1 is greater than t2, false if not.
Get a hash code for this item
Returns the hash code for the
value.
Convert the table of contents entry and its children to a string
The entries in HTML 1.x help format
Convert the table of contents entry and its children to a string
in the specified help file format.
The help file format to use
The entries in specified help format
This is thrown if the
format is not HtmlHelp1x or HtmlHelp2x.
This is used to convert the collection to a string and append it
to the specified string builder.
The help file format to use
The string builder to which the information is
appended.
Convert the entry to its <a> element form
Optional inner text
The topic in its <a> element form
This will load information about the entry from the node and will
also load all child nodes.
The site map node to use for this entry
Save this node and its children to the specified root node as
site map nodes.
The root node to which the current entry
is added.
See if this entry or one of its children is a match to the
specified source filename.
The source filename to match
The match TOC entry or null if not found
This is used to track the topic's parent collection
This is used by the designer to move items around within
the collection.
This returns the for the entry.
This returns the child table of contents collection for this entry
If empty, this is a single item in the table of contents.
If it has children, they are listed below this one. A file may
or may not be associated with this entry if it is a root node.
This is used to get or set the entry's source file path.
This is used to get or set the entry's destination file path.
This is used to get or set the entry's title in the table of
contents.
This is used to get or set whether or not the page will appear in
the table of contents.
For root entries that have children, the node will appear
in the table of contents but will have no page associated with it.
The other options such as will still have
an effect.
This is used to get or set whether or not the item is the default
topic for the help file.
This is used to get or set whether or not the topic has links that
need to be resolved when the file is copied.
This is used to get or set whether or not the topic has
<pre> blocks that have a lang
attribute to indicate that they should be colorized.
This is used to get or set whether or not the topic has
<code /> blocks that need expanding.
This is used to get or set whether or not the topic has tags
that should be resolved to project options.
This is used to get or set whether or not the table of contents is
split after this entry.
This is only valid on root entries and the first one seen
will cause all items from that tiem onward to appear below the API
content. All items prior to the entry will appear before the API
content. If used, the ContentPlacement project property
will be ignored.
This is used to get or set the sort order for the entry within
its group.
Entries with identical sort order values will sort by
title as well. Items with not specific sort order will sort
below those with a defined sort order.
This exception class is thrown by the application if it encounters an
unrecoverable error.
Default constructor.
There are three overloads for the constructor
This is used to cache indexed XML comments files
This is used to raise the event
The event arguments
Constructor
The maximum size of the cache
Index all comments files found in the specified folder.
The path to search. If null or empty, the
current directory is assumed.
The wildcard to use. If null or empty,
"*.xml" is assumed.
True to recurse subfolders or false to only
use the given folder.
Optional. If not null, an
is added to the collection for each
file indexed.
Get the comments for the specified key
The key for which to retrieve comments
An for the comments or null
if not found.
Get the comments file from the index cache that contains the given
key.
The key for which to retrieve the file
The indexed comments file or null if not found
Return all keys in this index
A string array containing the keys
This read-only property returns the number of items indexed
This read-only property returns the number of comments files
that were indexed.
This is used by the cache to report duplicate key warnings
This class represents an external application that is used to edit
an additional content file.
Clone this object
A clone of the object
Constructor
See if the given extension is a match for this file editor.
The extension to check
True if this is the editor for the given file extension
or false if not.
Substitute actual values for the macro place holders
The content item
The current project file
A string containing the actual arguments to pass to the
editor application.
This is used to get or set a description of the editor application
This is used to get or set the filename extensions for which this
content file editor will be used.
Separate the extensions with space, semi-colon, or a comma
This is used to get or set the parameters to pass to the
application.
The following macros can be used to subsitute item
and path values into the argument string.
Macro Name
Value Used
-
$ContentItem
The full path to the content item to be
edited
-
$ProjectFile
The fully qualified path and filename of the
current project.
-
$ProjectFolder
The fully qualified path to the current
project.
The macro names are case-insensitive. Enclose arguments in
double quotes if they may contain spaces.
This is used to get or set the source path to the editor
application.
This is used to set or get the startup folder used when launching
the content file editor.
If not set, the current project's path is used.
This returns a description of the entry suitable for display in a
bound list control.
This property is used to serialize the application path
is not serializable because it
does not have a parameterless constructor. This stands in for the
property when this class is
serialized.
This property is used to serialize the startup folder
is not serializable because it
does not have a parameterless constructor. This stands in for the
property when this class is
serialized.
This form is used to edit the API filter collection
This is called by the build process thread to update the main
window with the current build step.
The sender of the event
The event arguments
This is called by the build process thread to update the main
window with information about its progress.
The sender of the event
The event arguments
This is used to convert the API filter from the build into a
dictionary so that it is easier to look up the entries.
The filter collection to search for project
level exclusions.
This is used to load the reflection information file and to load
the root namespace nodes into the tree view.
The namespace nodes and type nodes are loaded on demand
to reduce the time needed to create the tree view and to conserve
some memory for extremely large builds.
Documented APIs are loaded into the first root node. Inherited
APIs are loaded into the second node. By splitting the inherited
stuff out, we can optimze the API filter and allow the user to get
rid of unwanted inherited members with a single selection.
Add all types found in the specified namespace node to the
specified tree node.
The parent tree node to which they are
added.
Add all base types found in the specified namespace node to the
specified tree node.
The parent tree node to which they are
added.
Add all members found in the specified type node to the specified
tree node.
The parent tree node to which they are
added.
Add all inherited members found in the specified type node to the
specified tree node.
The parent tree node to which they are
added.
Examine the nodes and optimize the state of the filter based on
various conditions.
The node in which the checked state
changed.
Set the checked state of all child
nodes to the parent node's state if true
Search the children of the specified tree node looking for the
given API member name.
The member name for which to search
The root node to search
The tree node matching the given ID or null if not found
This is used to add namespace filters to the API filter
The tree node from which to start
This will add child filter entries for each tree node where the
checked state matches the given state.
The filter to which the entries are added
The tree nodes to scan
The check state to match
This is used to see if the given node and all of its children match
the specified state.
The nodes to check
The state to match
True if all children's checked states match the parent
node's checked state, false if not.
Constructor
The item collection to edit
This is used to start the background build process from which
we will get the information to load the tree view.
The sender of the event
The event arguments
Shut down the build process thread and clean up on exit
The sender of the event
The event arguments
Refresh the collection and close the form
The sender of the event
The event arguments
View help for this form
The sender of the event
The event arguments
Reset the API filter by clearing its content and closing the form
The sender of the event
The event arguments
This is used to load child tree nodes on demand which speeds up
the initial form load for extremely large projects.
The sender of the event
The event arguments
Ignore attempts to uncheck the root nodes, namespace and type nodes
in the inherited APIs, and nodes that are excluded via other project
settings (i.e. namespace comments and <exclude/>
tags.
The sender of the event
The event arguments
Unchecking a root node would get rid of everything.
Unchecking a namespace or type for an inherited API may
inadvertently get rid of something that is needed. Project
excludes will be removed regardless of the API filter setting so
must remain excluded.
Optimize the filter when a node checked state changes
The sender of the event
The event arguments
Search for members that match the search conditions
The sender of the event
The event arguments
Goto the selected member in the tree view
The sender of the event
The event arguments
Include or exclude the selected members
The sender of the event
The event arguments
Double-clicking an item is the same as clicking Goto
The sender of the event
The event arguments
Required designer variable.
Clean up any resources being used.
true if managed resources should be disposed; otherwise, false.
Required method for Designer support - do not modify
the contents of this method with the code editor.
This is used to indicate the visibility of a member in the node
information type below.
The member is public
The member is protected
The member is internal (Friend)
The member is private
This is used to associate additional information with each tree
node to make it easier to look stuff up.
Constructor
The text for the tree view
The API ID
This will determine the API entry type and visibility based on
the information in the reflection information node.
If this API node contains template information, add that
info to the node's display text.
Determine the API entry type from the ID and possible the
subgroup.
The type character to convert
The subgroup to use
An indicating the entry
type.
Determine the visibility from the API node information
The API type character from the ID
The API node information
An indicating the entry's
visibility.
Get or set the text to display in the tree view
This will be the full namespace name or the type
or member name without the namespace.
This read-only property is used to get the API ID (the
namespace, type, or member name).
For types, this will be set to the filter name to use if the
class is nested within another class.
In such cases, the parent class name(s) must prefix
the type so that it can be correctly excluded or included.
Get or set the API node from the reflection information file
This will also set the
based on the reflection information in the node.
This read-only property is used to get the API entry type for
this node.
This read-only property is used to get the visibility of this
node.
Get or set whether or not the entry is a project exclude
If excluded via the Namespace Comments project option
or an <exclude /> tag, this property will
be set to true and the node cannot be marked as exposed. It
is also used to disallow changes to some of the fixed and
inherited API entry nodes.
This form is used to edit namespace summaries and to indicate which
namespaces should appear in the help file.
Constructor
The namespace summary item collection to edit
This is called by the build process thread to update the main
window with the current build step.
The sender of the event
The event arguments
This is called by the build process thread to update the main
window with information about its progress.
The sender of the event
The event arguments
Load the namespace information from the reflection information
The reflection information filename
Do a partial build on load to gather new namespace information that
isn't currently in the project's namespace list.
The sender of the event
The event arguments
Shut down the build process thread and clean up on exit
The sender of the event
The event arguments
Store the changes and close the dialog box
The sender of the event
The event arguments
View help for this form
The sender of the event
The event arguments
When the item changes, show its summary in the text box and set
the Appears In list box data source.
The sender of the event
The event arguments
Mark the summary item as documented or not when the check state
changes.
Clear the selection to prevent accidental deletion of the text
The sender of the event
The event arguments
Store changes to the summary when the textbox loses focus
The sender of the event
The event arguments
Delete an old namespace entry that is no longer needed.
The sender of the event
The event arguments
Apply the namespace filter to the namespace list
The sender of the event
The event arguments
Mark all namespaces as included
The sender of the event
The event arguments
Mark all namespaces as excluded
The sender of the event
The event arguments
Note that at least one will need to be selected or the
build will fail due to lack of information to document.
Required designer variable.
Clean up any resources being used.
true if managed resources should be disposed; otherwise, false.
Required method for Designer support - do not modify
the contents of this method with the code editor.
This is an component that allows you
to add status bar text for menu items and form controls. When built
for use with .NET 2.0, it also supports adding status bar text for
menu strip, tool strip, and status strip components.
Default constructor
There are two overloads for the constructor
Constructor. This one takes a reference to a container.
The container for the component
Clean up any resources being used.
True to release both managed and unmanaged
resources, false to just release unmanaged resources.
This is implemented to determine if the component can be extended
with the extra properties.
The object to check
True if it can be extended, false if not
components and everything derived
from ToolStripItem (.NET 2.0) and
are extended with the StatusBarText
and ShowAsBlank properties with the following exceptions:
Form, Label, PictureBox, ProgressBar,
ScrollBar, Splitter, StatusBar,
ToolBar, ToolStrip (.NET 2.0) and controls derived
from them. The Form contain controls and the other controls
cannot receive the focus needed to display the text so there is no
point in giving them status bar text. The exception to the above
rule is LinkLabel which can receive the focus and thus can
be extended. ToolStripItem components are only supported
when built for use with .NET 2.0.
This is used to retrieve the status bar text for a component.
The component for which to get the status bar
text
The message string if found or null if not found
This is thrown if the component
is null or if it is not a menu item, control, or a tool strip item.
This stores the status bar text for the specified component.
The component associated with the message
The status bar text for the component
The designer converts strings containing nothing but
spaces to empty strings and won't serialize them to code. If you
want a blank string to display, use
to set the "show as blank" flag to true instead.
This is thrown if the component
is null or if it is not a menu item, control, or a tool strip item.
This is used to retrieve the "show as blank" flag for a menu item
or control.
The item for which to get the flag
True if it will show a blank status bar message or false
if not.
This is thrown if the component
is null or if it is not a menu item, control, or a tool strip item.
This stores the "show as blank" flag for the specified component.
The component associated with the property
The flag value for the component
The designer converts strings containing nothing but
spaces to empty strings and this equates to the default and the
value is not serialized to code. If you want a blank string to
display, set this property to true instead. This property takes
precedence over the StatusBarText property.
This is thrown if the component
is null or if it is not a menu item, control, or a tool strip item.
This can be used to initialize the status strip progress bar
controls.
The maximum value
There are six overloads for this method.
This can be used to initialize the status strip progress bar
controls.
The maximum value
A note for the progress note status
label control. If null, the current text is left alone.
This can be used to initialize the status strip progress bar
controls.
The minimum value
The maximum value
This can be used to initialize the status strip progress bar
controls.
The minimum value
The maximum value
The current value
This can be used to initialize the status strip progress bar
controls.
The minimum value
The maximum value
A note for the progress note status
label control. If null, the current text is left alone.
This can be used to initialize the status strip progress bar
controls.
The minimum value
The maximum value
The current value
The step value for the progress bar
A note for the progress note status
label control. If null, the current text is left alone.
This can be used to update the progress bar with a new value
This version updates the progress by the step
value.
There are four overloads for this method
This can be used to update the progress bar with a new value
A note for the progress note status
label control.
This version updates the progress by the step
value and updates the progress note.
This can be used to update the progress bar with a new value
The current value
This can be used to update the progress bar with a new value
The current value
A note for the progress note status
label control. If null, the current text is left alone.
This can be used to reset the status strip progress bar
to its minimum value.
This version resets the progress bar to zero and
clears the progress note.
There are two overloads for this method.
This can be used to reset the status strip progress bar
to its minimum value and display a new progress message.
The progress note to display in
the progress note status label. If set to null, the
message is cleared.
This is used to set or get the default status bar component to use
for displaying the status bar text messages.
This property is static and must be set at some point
during application initialization. This component will be used
unless the property is set to
override it.
// Define the default status bar to use in the main form's
// constructor
public MainForm()
{
InitializeComponent();
//=========
// .NET 1.1
//=========
// Tell the StatusBarTextProvider component the status bar
// to use.
StatusBarTextProvider.ApplicationStatusBar = sbStatusBar;
// You can also use any panel you like. The default is zero
// (the left-most panel). For the demo, we'll use the one
// in the middle.
StatusBarTextProvider.ApplicationDisplayPanel = 1;
//=========
// .NET 2.0
//=========
// Tell the StatusBarTextProvider component the component
// to use to display the text. When using a tool strip
// component, the ApplicationDisplayPanel property is ignored.
StatusBarTextProvider.ApplicationStatusBar = tslStatusText;
// Define the status label and progress bar too. This allows
// easy access to those items from anywhere within the
// application.
StatusBarTextProvider.StatusLabel = tslProgressNote;
StatusBarTextProvider.ProgressBar = tspbProgressBar;
}
' Define the default status bar to use in the main form's
' constructor
Public Sub New()
MyBase.New()
InitializeComponent()
'=========
' .NET 1.1
'=========
' Tell the StatusBarTextProvider component the status bar
' to use.
StatusBarTextProvider.ApplicationStatusBar = sbStatusBar;
' You can also use any panel you like. The default is zero
' (the left-most panel). For the demo, we'll use the one
' in the middle.
StatusBarTextProvider.ApplicationDisplayPanel = 1;
'=========
' .NET 2.0
'=========
' Tell the StatusBarTextProvider component the component
' to use to display the text. When using a tool strip
' component, the ApplicationDisplayPanel property is ignored.
StatusBarTextProvider.ApplicationStatusBar = tslStatusText;
' Define the status label and progress bar too. This allows
' easy access to those items from anywhere within the
' application.
StatusBarTextProvider.StatusLabel = tslProgressNote;
StatusBarTextProvider.ProgressBar = tspbProgressBar;
End Sub
This is thrown if the object
is not a status bar control or a tool strip item.
This is used to set or get the status bar panel in which to
display the messages in the common application status bar.
This property is static and must be set at some point
during application initialization. This display panel will be
used unless the property is set
to override the status bar used. In that case, the
is used instead.
The default is zero (the first panel). If the status bar does
not have panels, the index exceeds the panel count, or the status
bar's
property is false, messages will be shown in the status bar's
Text property instead. This property is ignored if using a
tool strip item to display the text.
This is used to set or get the default text to show when no item
has the focus or no status text for the application status bar.
By default, it will be set to the text in the selected
status bar component. If you set it to a different value, set
this property after specifying the status bar control to use.
This is used to get or set the tool strip status label component
that can be used to display a status message in conjunction with
the component.
This property is only available when used with .NET 2.0.
This is used to get or set the tool strip progress bar component
that can be used to display progress through a long running task.
This can be used in conjunction with
. This property is only available when
used with .NET 2.0.
This is used to get or set the status bar component to use for this
instance.
If not set or set to null, it will use the status bar
control assigned to the
property.
This is thrown if the object
is not a status bar control or a tool strip item.
This is used to set or get the status bar panel in which to
display the messages when the
property is set to a status bar.
The default is zero (the first panel). If the status
bar does not have panels, the index exceeds the panel count,
or the status bar's
property
is false, messages will be shown in the status bar's Text
property instead. If using the ,
this property is ignored. It is also ignored if using a tool
strip item to display the text.
This is used to set or get the default text to show when no item
has the focus or no status text for the instance status bar.
By default, it will be set to the text in the selected
status bar component. If set to a different value, set this
property after specifying the status bar control to use.
This class contains the options for the items that need status bar
text.
Constructor
The message text to display
There are two overloads for the constructor
Constructor
The "show as blank" flag
Set or get the message text
The "show as blank" flag
This collection class is used to hold the documentation sources
A documentation source is an assembly, an XML comments file,
a Visual Studio project (C#, VB.NET, or J#), or a Visual Studio
solution containing one or more C#, VB.NET or J# projects.
Internal constructor
The project that owns the collection
This is used to sort the collection in ascending order.
This is used to load existing documentation sources from the
project file.
The documentation source items
The information is stored as an XML fragment
This is used to write the documentation source info to an XML
fragment ready for storing in the project file.
The XML fragment containing the documentation sources
Add a new item to the collection
The filename to add
The configuration to use for projects
The platform to use for projects
True to include subfolders, false to
only search the top-level folder.
The added to the
project or the existing item if the filename already exists in the
collection.
The constructor is
internal so that we control creation of the items and can
associate them with the project.
This is overridden to mark the collection as dirty when it changes
The event arguments
This is used to get or set the dirty state of the collection
This read-only property returns a list of assemblies in the
collection.
This read-only property returns a list of XML comments files in the
collection.
This represents an API entry that is to be removed from the reflection
information using MRefBuilder's namespace ripping feature.
Compares this instance to another instance and returns an
indication of their relative values.
An ApiFilter object to compare
Returns -1 if this instance is less than the
value, 0 if they are equal, or 1 if this instance is
greater than the value or the value is null.
Entries are sorted by API entry type and full name
Clone the API filter
A clone of the filter
Constructor
There are two overloads for the constructor
Constructor. This takes the API type and the full name
The API entry type
The fully qualified name
True to expose it, false to hide it
This is used to convert the entry and its children to a string
ready for use in the MRefBuilder config file.
The string builder to which the information is
appended.
This is used to load the content item information from the project
file.
The XML text reader from which the information
is loaded.
This is used to save the content item information to the project
file.
The XML text writer to which the information
is written.
This is used to convert an API type letter to an
enumerated value.
The letter to convert
The ApiEntryType represented by the letter
This is used to get or set the API entry type
This is used to get the fully qualified name of the API entry
This is used to get the API filter name
For API entry types other than namespaces, this is the name
without the namespace and, for methods properties, etc. the
type.
This is used to get or set whether or not the entry is exposed
This is used to get or set whether or not the entry is excluded
via the project (i.e. via the SHFB Namespaces option or an
<exclude /> tag.
This returns the child API filter collection for this entry
For namespaces and types, if there are children, they
represent the specific entries within the namespace or type
to hide or expose.
This is a simple wrapper around an MSBuild project that is used to
extract information from it during a help file build.
Constructor
The MSBuild project to load
This is used to set the active configuration and platform used when
evaluating the properties.
The active configuration
The active platform
The output directory
If the platform is set to any variation of "Any CPU" and
it isn't found in the project, it will be converted to "AnyCPU"
(no space). This works around an issue with Team Build that
includes the space even though it should not be present.
This is used to set the Visual Studio solution macros based on the
specified project name.
The solution name to use
Clone the project's references and add them to the dictionary
The dictionary used to contain the
cloned references
This is used to get the underlying MSBuild project file reference
This is used to get the assembly name
This is used to get the XML comments file name
This is used to get the target framework version
This is used to get the project GUID
This task is used to generate the MRefBuilder response file and run
MRefBuilder.exe.
Validate the parameters
True if the parameters are valid, false if not
This returns the full path to the tool
The full path to the tool
Generate the command line parameters
The command line parameters
Generate the response file commands
An empty string
Rather than letting the tool task create the response
file, we'll create it ourself in the working folder so that we can
look at it if the build fails.
This is overridden to return the working folder for the build
The working folder for the build
This read-only property returns the tool name (MRefBuilder.exe)
This is overridden to force all standard error info to be logged
This is overridden to force all standard output info to be logged
This is used to pass in the Document Internals flag setting
This is used to pass in the path to the Sandcastle tools
This is used to pass in the working folder where the files are
located.
This is used to pass in the assemblies to reflect over
This is used to pass in the resolved references
References are optional.
This is a type editor that displays the
to edit the help attribute
items for a project or topic.
This is overridden to edit the value using the
dialog.
The descriptor context
The provider
The help attribute item collection as an object
The edited help attribute item collection as an object
This is overridden to specify the editor's edit style
The descriptor context
Always returns Modal as long as there is a context
and an instance. Otherwise, it returns None.
This type converter is used to convert a FolderPath object to and from
a string so that it can be edited in a
.
This is used to select and edit the third-party build component
configurations.
To be editable, the build component configuration file must
be present in the .\Build Components folder or a subfolder
beneath it. The build components folder is found under the common
application data folder.
Constructor
The current configurations
Close this form
The sender of the event
The event arguments
Update the build component details when the selected index changes
The sender of the event
The event arguments
Update the enabled state of the build component based on its
checked state.
The sender of the event
The event arguments
Add the selected build component to the project with a default
configuration.
The sender of the event
The event arguments
Edit the selected build component's project configuration
The sender of the event
The event arguments
This is handled to resolve dependent assemblies and load them
when necessary.
The sender of the event
The event arguments
The loaded assembly
Delete the selected build component from the project
The sender of the event
The event arguments
View help for this form
The sender of the event
The event arguments
Required designer variable.
Clean up any resources being used.
true if managed resources should be disposed; otherwise, false.
Required method for Designer support - do not modify
the contents of this method with the code editor.
This collection class is used to hold the conceptual content topics
for a project.
This class is serializable so that it can be copied to the
clipboard.
This interface is used to interact with project files that can generate
table of contents entries.
Generate the table of contents for the conceptual topics
The table of contents collection
The base path provider
Get the content layout
Constructor
The content layout file associated with the
collection.
Topics are not loaded until the method
is called. If the file parameter is null, this is assumed
to be a child topic collection.
This is used to sort the collection
Values are sorted by display title. Comparisons are
case-sensitive.
Load the collection from the related file
This will be done automatically at constructor. This can
be called to reload the collection if needed.
This gets all possible content files from the project and attempts
to match them to the topics in the collection by ID.
Save the topic collection to the related content layout file
This is used by contained items to notify the parent that a child
list changed and thus the collection should be marked as dirty.
The item that changed
Set the topic file in any entry that has a matching ID
The topic file
The IDs should be unique across all entries but, if a
duplicate exists, this will help find it as we'll get a more
descriptive error later in the build.
This creates copies of the conceptual topic files in the build
process's working folder.
The folder in which to place the topic files
The build process
Each topic file will be named using its
. If necessary, its content will be
wrapped in a <topic> element. Sub-topics are written
out recursively.
Add all topics from the specified folder recursively to the
collection and to the given project file.
The folder from which to get the files
The base path to remove from files copied
from another folder into the project folder. On the first call,
this should match the value.
The project to which the files are added
Only actual conceptual content topic files are added.
They must have a ".aml" extension and must be one of the valid
document types. Folders will be
added as sub-topics recursively. If a file with the same name
as the folder exists, it will be associated with the container
node. If no such file exists, an empty container node is created.
This is overridden to set the inserted item's parent to this
collection.
This is overridden to set the inserted item's parent to this
collection.
This is overridden to clear the parent on the removed item
The index of the item to remove
This is overridden to clear the default topic and split TOC topic
when the collection is cleared.
Generate the table of contents for the conceptual topics
The table of contents collection
The base path provider
This read-only property returns the project file item associated
with the collection.
This is used to get or set the default topic
It returns the default topic or null if one is not set
This is used to get or set the topic at which the table of contents
is split by the API content.
This will only be valid if it refers to a root level
topic. It will return null if a split location has not been
set.
This can be used to get a topic by its unique ID (case-insensitive)
The ID of the item to get.
Returns the topic with the specified
or null if not found.
This is used to get the build item related to the content layout
file containing the collection items.
This public enumerated type defines the locations in which a browser
window can be opened for the MSDN SDK links.
The URL is loaded into a new unnamed window.
The current document is replaced with the specified
URL.
The URL is loaded into the current frame's parent. If
the frame has no parent, this value acts like the value
Self.
The URL replaces any framesets that may be loaded. If
there are no framesets defined, this value acts like the value
Self.
This class represents a file that is part of the project
(MAML/additional content, site map, stylesheet, etc.).
This is used to handle changes in the
properties such that the path gets stored in the project file.
The sender of the event
The event arguments
This is used to handle changes in the
properties such that the path gets stored in the project file.
The sender of the event
The event arguments
Internal Constructor
The project element
Refresh the paths due to a parent path being renamed
This is used to filter the properties based on the
.
The property descriptor collection to filter
The filtered property descriptor collection
This is used to set or get the build action of the item
This is used to set or get the filename (include path)
This is used to set or get the link path
If the item has no link path, this returns the
path.
This is used to get the full path to the item
This is used to set or get the name of the item
This is used to get or set an ID for a conceptual content image
This is used to indicate that an image file is part of
the conceptual content. Image items without an ID are not
valid and will be ignored.
This is used to get or set alternate text for an image
This is used to get or set whether an item is copied to the output
folder during a build.
If this is set to true, the image will always be copied to
the build's media folder. If false, it is only copied if referenced
in a topic.
For content items such as HTML pages, this is used to get or set
whether or not the item is excluded from the table of contents.
If true, the item is not included in the table of contents.
If false, it will be included.
This is used to get or set the sort order for content layout and
site map files.
This form is used to edit user-defined project properties
Note that the MSBuild project object does not provide a way
to delete or rename properties. As such, you have to edit the project
file by hand to do those tasks.
Constructor
The project file reference
This is used to see if the project can be edited. If not, abort
the change by throwing an exception.
Close the form
The sender of the event
The event arguments
View help for this form
The sender of the event
The event arguments
This is used to add a new user-defined property to the project
The sender of the event
The event arguments
Update the property grid with the selected item
Refresh the list box item when a property changes
The sender of the event
The event arguments
Required designer variable.
Clean up any resources being used.
true if managed resources should be disposed; otherwise, false.
Required method for Designer support - do not modify
the contents of this method with the code editor.
This is used to get or set the user-defined property collection
This is used to get or set the project file reference
This is used to edit the user-defined project property items
Constructor
The owning dialog
The build property to edit or null
for a new property
Return the name of the build property
This is used to get or set the owning dialog
This is used to get or set the property name
Existing properties cannot be renamed as the MSBuild
project object doesn't provide a way to do it. Nor does it
allow deleting properties.
This is used to get or set the Condition attribute value for
the property.
This is used to get or set the value for the property
This is a type editor that displays the
to edit the user-defined properties in a project.
This is overridden to edit the value using the
dialog.
The descriptor context
The provider
The help file builder project as an object
The help file builder project as an object
This is overridden to specify the editor's edit style
The descriptor context
Always returns Modal as long as there is a context
and an instance. Otherwise, it returns None.
This class is used to provide a custom regular expression search
function to XPath queries using an XSLT context.
This is not used by this class.
The base URI of the first document to compare
The base URI of the second document to compare
Always returns zero (equal).
This is not used by this class.
The whitespace node to preserve or strip
For this class, this always returns true to preserve
whitespace.
This is not used by this class.
The prefix of the variable as it appears
in the expression
The name of the variable
Always returns null
Resolves a function reference and return an
representing the function. The
is used at execution time to get
the return value of the function.
The prefix of the function as it appears in
the XPath expression
The name of the function
An array of argument types for the function
being resolved. This allows you to select between methods with the
same name (for example, overloaded methods).
An representing the
function
This is not used by this class.
Always returns true to include whitespace in the output
This represents an XML comment file and is used when searching for and
adding missing documentation tag information.
Mark the file as modified if a node is changed
The sender of the event
The event arguments
Constructor
The XML comments filename
This is thrown if the
filename is null or an empty string.
Save the comments file if it was modified
This is called to fixup the comments for C++ compiler generated
XML comments files.
The C++ compiler generates method signatures that differ
from the other .NET compilers for methods that take generics as
parameters. These methods fail to get documented as they do not
match the output of MRefBuilder. The C# and VB.NET
compilers generate names that do match it and this option is not
needed for comments files generated by them. The C++ compiler
also has problems resolving references to some members if it
hasn't seen them yet. These are prefixed with "!:" which is
removed by the fix-up code.
This read-only property is used to get the source path of the file
This is used to load the comments file on first use
This read-only property is used to get the root members node
This type converter allows you to select a .NET Framework version from
those currently installed on the system.
This is used to get the standard values by searching for the
.NET Framework versions installed on the current system.
This is overridden to return the values for the type converter's
dropdown list.
The format context object
Returns the standard values for the type
This is overridden to indicate that the values are exclusive
and values outside the list cannot be entered.
The format context object
Always returns true
This is overridden to indicate that standard values are supported
and can be chosen from a list.
The format context object
Always returns true
This is used to find out if the specified version of the .NET
Framework is present on the system.
The version for which to look
True if present, false if not found
This is used to get the latest version that starts with the
given value.
The version for which to look
The latest version starting with the specified value or
the most recent version if not found.
This read-only property returns the version number of the most
recent copy of the .NET Framework installed on the system.
This type converter allows you to select a culture from a list
representing a set of available language resource folders.
This is overridden to return the values for the type converter's
dropdown list.
The format context object
Returns the standard values for the type
This is used to compare two culture info objects by display name
Compare two items
The first item to compare
The second item to compare
-1 if item 1 is less than item 2, 0 if they are equal,
or 1 if item 1 is greater than item 2.
This is a type editor that displays the
to edit the namespace
summaries for a project.
This is overridden to edit the value using the
dialog.
The descriptor context
The provider
The namespace summary item collection as an
object
The edited namespace summary item collection as an object
This is overridden to specify the editor's edit style
The descriptor context
Always returns Modal as long as there is a context
and an instance. Otherwise, it returns None.
This is used to give a more descriptive message in the property
grid for the .
This public enumerated type defines the conceptual document types
Unknown document type or empty container node
File not found
Invalid document (i.e. bad format, parsing errors)
Conceptual document
Error Message document
Glossary document
How To document
Orientation document
Reference List document
Reference With Syntax document
Reference Without Syntax document
Sample Document
SDK Technology Overview Architechture document
SDK Technology Overview Code Directory document
SDK Technology Overview Orientation document
SDK Technology Overview Scenarios document
SDK Technology Overview Technology Summary document
Troubleshooting document
User Interface Reference document
Walkthrough document
Whitepaper document
XML Reference document
Raw HTML
This defines the content types that can be edited
Code snippets
Edit image references
Edit tokens
Edit topics
This class is used to hold the conceptual content settings for a
project during a build and for editing.
Constructor
The project from which to load the settings
This is used to copy the additional content token, image, and
topic files to the build folder.
The build process
This will copy the code snippet file if specified, save
token information to a shared content file called _Tokens_.xml
in the build process's working folder, copy the image files to the
.\media folder in the build process's working folder, save
the media map to a file called _MediaContent_.xml in the
build process's working folder, and save the topic files to the
.\ddueXml folder in the build process's working folder.
The topic files will have their content wrapped in a
<topic> tag if needed and will be named using their
value.
This is used to create the conceptual content build configuration
files.
The build process
This will create the companion files used to resolve
conceptual links and the _ContentMetadata_.xml and
ConceptualManifest.xml configuration files.
This is used to create the companion files used to resolve
conceptual links.
The build process
Create the content metadata file
The build process
The content metadata file contains metadata information
for each topic such as its title, table of contents title, help
attributes, and index keywords. Help attributes are a combination
of the project-level help attributes and any parsed from the topic
file. Any replacement tags in the token values will be replaced
with the appropriate project values.
A true MAML version of this file contains several extra
attributes. Since Sandcastle doesn't use them, I'm not going to
waste time adding them. The only stuff written is what is required
by Sandcastle. In addition, I'm putting the title and
PBM_FileVersion item elements in here rather than use the
separate companion files. They all end up in the metadata section
of the topic being built so this saves having two extra components
in the configuration that do the same thing with different files.
Create the content metadata file
The build process
The content metadata file contains metadata information
for each topic such as its title, table of contents title, help
attributes, and index keywords. Help attributes are a combination
of the project-level help attributes and any parsed from the topic
file. Any replacement tags in the token values will be replaced
with the appropriate project values.
This is used to get the conceptual content image files
This is used to get the conceptual content code snippet files
This is used to get the conceptual content token files
This is used to get the conceptual content layout files
This is used to get a collection of the conceptual content topics
Each item in the collection represents one content layout
file from the project.
This class is used to handle all aspects of the build process in a
separate thread.
This class is used to handle all aspects of the build process in a
separate thread.
Load and initialize the plug-ins used by this project
This is thrown if a requested
plug-in is not found or has a version that is not supported by
this version of the help file builder.
Execute all plug-ins that need to execute in the given build step
that have the given execution behavior.
The execution behavior
True if at least one plug-in was executed or false if
no plug-ins were executed.
Plug-ins will execute based on their execution priority.
Those with a higher priority value will execute before those with
a lower value. Plug-ins with identical priority values may execute
in any order within their group.
This can be used by plug-ins using the
execution behavior to
execute plug-ins that want to run before the plug-in executes its
main processing.
This will only run once per step. Any subsequent calls by
other plug-ins will be ignored.
This can be used by plug-ins using the
execution behavior to
execute plug-ins that want to run after the plug-in has executed
its main processing.
This will only run once per step. Any subsequent calls by
other plug-ins will be ignored.
This is called to determine the default topic for the help file
and insert any additional table of contents entries for the
additional content files.
The format of the table of contents
(HtmlHelp1x, HtmlHelp2x, or Website).
In the absence of an additional content item with a
default topic indicator, the default page is determined by
extracting the first entry from the generated table of contents
file. If an additional content item with a default topic indicator
has been specified, it will be the used instead. The default
topic is not used by HTML Help 2.x files.
This is thrown if the
format is not HtmlHelp1x, HtmlHelp2x, or
Website.
This is called to create the help project output folder and copy
the standard content files (art, media, scripts, and styles) to the
help project folder.
This creates the folders Output\ and
Output\html under the working folder and copies the stock
art, icon, media, script, and style sheet files from the
{@PresentationPath}\art, {@PresentationPath}\icons,
{@PresentationPath}\media,
{@PresentationPath}\scripts, and
{@PresentationPath}\styles folders which are located in the
Sandcastle installation folder. The art, icons, and media folders
may or may not exist based on the style.
This copies files from the specified source folder to the specified
destination folder. If any subfolders are found below the source
folder and the wildcard is "*.*", the subfolders are also copied
recursively.
The source path from which to copy
The destination path to which to copy
This returns a complete list of files for inclusion in the
compiled help file.
The folder to expand
The HTML help file format
The full list of all files for the help project
The help file list is expanded to ensure that we get
all additional content including all nested subfolders. The
format parameter determines the format of the returned
file list. For HTML 1.x, it returns a list of the filenames.
For HTML 2.x, it returns the list formatted with the necessary
XML markup.
This is used to generate the website helper files and copy the
output to the project output folder ready for use as a website.
This is called to generate the HTML table of contents when creating
the website output.
The HTML to insert for the table of contents.
This is called to recursively append the child nodes to the
HTML table of contents in the specified string builder.
The list over which to iterate
recursively.
The string builder to which the entries are
appended.
This is used to change the filenames assigned to each member
in the reflection information file.
Apply the project's Visibility category properties to the
reflection information file.
This is used to remove entries from the reflection
information file so that it does not appear in the help file.
See the Document* properties in the
class for information on the
items removed.
Remove attribute information
Remove explicit interface implementation information
Remove inherited member information from each type's element list
based on the project settings.
Remove member information matching the specified XPath query.
The XPath query used to find the members.
A description of the members removed.
The number of members to be removed
Actual removal of the members is deferred. On very large
files, the XPath queries took to long when removing the
<elemen> members.
Change the visibility of "protected internal" members to
"protected".
Remove protected members from sealed classes.
This is used as the match evaluator for the regular expression
that finds the <element> entries to remove from the
reflection information file.
The match found
The string with which to replace the match
The removals are done this way as it proved to be a very
slow process to remove the child elements at the time they
were found with an XPath query on very large files.
This is used to clean up the HTML Help 2 collection files so that
they are ready for use in registering the collection.
Open the specified collection file and return it as an
ready for editing.
The file to open
The DTD is removed before returning it.
This raises the event.
The event arguments
This raises the event.
The event arguments
Constructor
The project to build
There are two overloads for the constructor.
Constructor
The project to build
Pass true to perform a partial build
Call this method to perform the build on the project.
This event fires when the
current build step changes.
This event fires to report progress
information.
This is used to report progress during the build process
within the current step.
The message to report
A list of arguments to format into the message
text
This method has two overloads.
This is used to report an error that will abort the build
The current build step
The error code
The message to report
A list of arguments to format into the message
text
This just reports the error. The caller must abort the
build.
This is used to report a warning that may need attention
The warning code
The message to report
A list of arguments to format into the message
text
This is used to report progress during the build process
and possibly update the current step.
The current build step
The message to report
A list of arguments to format into the
message text
This event fires when the
current build step changes.
This event fires to report progress
information.
Force garbage collection to reduce memory usage.
The reflection information file and XML comments files
can be quite large. To reduce memory usage, we force a garbage
collection to get rid of all the discarded objects.
Make sure the path isn't one the user would regret having nuked
without warning.
The name of the path property
It's current value
The path to the current project
Since most people don't read the help file and also ignore
the warning in the property grid description pane, we'll take some
steps to idiot-proof the dangerous path properties. I'm starting
to lose count of the number of people that point WorkingPath at the
root of their C:\ drive and wonder why all their files disappear.
Paths checked for include root references to hard drives and
network shares, most common well-known folders, and the project's
root folder.
This is thrown if the path is
one of the ones that probably should not be used.
This is used to gather a list of files produced by the build
Find the Sandcastle tools and the HTML help compiler
This is thrown if any of
the tools cannot be found.
Find a folder by searching the Program Files folders on all fixed
drives.
The path for which to search
The path if found or an empty string if not found
This is used to find the named executable in one of the Visual
Studio SDK installation folders.
The name of the executable to find
The path if found or an empty string if not found
The search looks in all "Visual*" folders under the
Program Files special folder on all fixed drives.
Validate the documentation source information and copy the files to
the working folder.
This is thrown if any of
the information is invalid.
This is used to run a step in the build process
The file to execute. This will be one of
the template batch files with all the necessary values for the
paths and options plugged into it.
The arguments to pass to the file if any.
This is the thread procedure used to capture standard ouput text
This is the thread procedure used to capture standard error text
Report the output from the currently running tool
The line to report
This is called to generate the namespace summary file
Add project or namespace comments
The member node to modify.
The summary text to add.
Transform the specified template text by inserting the necessary
values into the place holders tags.
The template text to transform
An optional list of arguments to format into the
template before transforming it.
The transformed text
Transform the specified template by inserting the necessary
values into the place holders and saving it to the working folder.
The template to transform
The folder where the template is
located
The folder in which to save the
transformed file
The path to the transformed file
This is used to read in a file using an appropriate encoding method
The file to load
Pass the default encoding to use. On
return, it contains the actual encoding for the file.
The contents of the file.
When reading the file, use the default encoding specified
but detect the encoding if byte order marks are present. In
addition, if the template is an XML file and it contains an
encoding identifier in the XML tag, the file is read using
that encoding.
Replace a field tag with a value from the project
The match that was found
The string to use as the replacement
This is used to get a list of .NET Framework comments file
locations.
The locations of the comments
files.
A dictionary to contain the cache file
names for the comments file sets.
If the given language version of the
comments are present, they will be used. If not, the default
English version comments files are used.
The framework version for which to get
comments files.
This is used to generate an appropriate list of entries that
represent .NET Framework comments file locations for the various
configuration files.
The type of list to generate
(frameworkcommentlist, importframeworkcommentlist, or
cachedframeworkcommentlist)
The list of framework comments file sources in the
appropriate format.
This is used to merge the component configurations from the
project with the sandcastle.config file.
This handles merging of the custom component configurations into
the configuration file including dependencies.
The ID of the component to merge
The build component definition
The root container node
The configuration node to merge
True if this is a conceptual
content configuration file or false if it is a reference build
configuration file.
This is called to copy the additional content files and build a
list of them for the help file project.
Note that for wilcard content items, the folders are
copied recursively.
This is used to merge the conceptual content table of contents with
any additional content table of contents information.
This will also split the table of contents if any entry
has the "split" option. A split in the conceptual content will
take precedence as additional content is always appended to
the end of the conceptual content. Likewise, a default topic in
the conceptual content will take precedence over a default topic
in the additional content.
This is used to merge destination file information into the site
map TOC.
The the site entry to update
In addition, files in the site map that do not exist in
the TOC built from the defined content will be processed and
copied to the root folder.
This is used to extract table of contents information from a file
that will appear in the help file's table of contents.
The file from which to extract the
information
The table of contents entry
This is called to load an additional content file, resolve links
to namespace content and copy it to the output folder.
The source filename to copy
The destination filename
The entry being resolved.
Replace a link to a namespace item with a link to the HTML page
for it.
The match that was found
The string to use as the replacement
Replace a shared content item with it's value. Note that these
may be nested.
The match that was found
The string to use as the replacement
This is used to load a code block from an external file.
The HTML encoded block extracted from the file and
wrapped in a <pre> tag ready for colorizing.
If a region attribute is found, only the named region
is returned. If n region attribute is found, the whole file is
returned. Relative paths are assumed to be relative to the
project folder.
This is used to transform a *.topic file into a *.html file using
an XSLT transformation based on the presentation style.
The source topic filename
This is used to generate the API filter collection used by
MRefBuilder to exclude items from the reflection information file.
Namespaces and members with an <exclude />
tag in their comments are removed using the ripping feature as it
is more efficient than searching for and removing them from the
reflection file after it has been generated especially on large
projects.
This is used to manually apply the specified API filter to the
specified reflection information file.
The API filter to apply
The reflection information file
This can be used by any plug-in that does not produce a
reflection information file using MRefBuilder.exe. In such
cases, the API filter is not applied unless the plug-in uses this
method. If the reflection information file is produced by
MRefBuilder.exe, there is no need to use this method as it
will apply the API filter automatically to the file that it
produces.
Apply a member filter to the specified type.
The APIs node from which to remove info
The type filter to be processed
Remove an entire namespace and all of its members
The APIs node from which to remove info
The namespace ID to remove
Remove an entire type and all of its members
The APIs node from which to remove info
The type ID to remove
This returns a containing
the currently loaded plug-ins.
The key is the plug in name. The value is a reference to
an interface for the plug-in.
This allows you to access other plug-ins to facilitate
sharing of information between them.
This returns the path to MSBuild.exe
This returns the location of the help file builder executables
This returns the location of the help file builder template
folder.
This returns the project folder name
This returns the project filename without the folder
This returns the output folder where the log file and help file
can be found after the build process has finished.
This returns the name of the working files folder
This returns the name of the main Sandcastle folder determined
by the build process.
This returns the name of the HTML Help 1.x compiler folder
determined by the build process.
This returns the name of the HTML Help 2.x compiler folder
determined by the build process.
This returns the name of the main Sandcastle presentation style
folder determined by the build process.
This returns the name of the log file used for saving the
build progress messages.
This returns the name of the reflection information file
This returns the current project being used for the build
Although there is nothing stopping it, project options
should not be modified during a build.
This returns the current help file format being generated
The GenerateHelpFormatTableOfContents,
GenerateHelpFileIndex, GenerateHelpProject,
UpdateTableOfContents, and CompilingHelpFile steps
will run once for each help file format selected. This property
allows a plug-in to determine which files it may need to work with
during those steps or to skip processing if it is not
relevant.
This read-only property is used to get the partial build flag
Partial builds occur when editing the namespace summaries,
editing the API filter, and as part of some plug-ins and may not
require all build options. In a partial build, build steps after
ApplyVisibilityProperties are not executed.
This is used to get the conceptual content settings in effect for
the build.
This will not return a useable value until after the
CopyStandardContent .
This returns a list of the Help 1 (CHM) files that were built
If the Help 1 format was not built, this returns an
empty collection.
This returns a list of the Help 2 (HxS) files that were built
If the Help 2 format was not built, this returns an
empty collection.
This returns a list of the website files that were built
If the website format was not built, this returns an
empty collection.
This controls whether or not the API filter is suppressed.
By default, it is not suppressed and the API filter will be
applied. The API Filter designer uses this to suppress the filter
so that all members are obtained.
This event is raised to report a change in the build step
This event is raised to report progress information throughout
each build step.
This read-only property returns the XML comments files collection
This read-only property returns the API filter that is used at
build-time to filter the API elements.
This is a combination of the project's API filter,
namespace exclusions, and <exclude /> tag
exclusions.
This is used to limit which values are available to properties using
as their underlying type.
Constructor
Build actions that serve no purpose for selection
are removed.
This class represents a conceptual content topic file
Constructor
The file build item from the project
This is thrown if the file
item is null.
This will parse the file content and extract the document type,
unique ID, and revision number.
If false and the file has already been
parsed, the method just returns. If true, the file is reparsed
to refresh the information.
This is used to parse the ID and revision number from an HTML file
This is used to get or set the file build item
Get the name of the file without the path
Get the full path to the file
This is used to get the unique ID of the topic
This is used to get the topic's revision number
This read-only property is used to get the document type
This read-only property is used to return the error message if
returns Invalid.
This class is a custom XPath function used to perform a regular
expression search in XPath queries.
The function should be passed a value to compare, the regular
expression to use, and a Boolean indicating whether or not to do a
case-insensitive match.
Some examples of XPath queries using the function:
//apis/api[matches-regex(string(@id), 'utils.*proj', boolean(true))
//apis/api[matches-regex(string(@id), 'Proj|Filt|Excep', boolean(false))
This is called to invoke the matches-regex method.
The XSLT context for the function call
The arguments for the function call
The context node for the function call
An object representing the return value of the function
(true for a match, false for no match).
This is thrown if the
number of arguments for the function is not three.
Gets the supplied XPath types for the function's argument list.
This information can be used to discover the signature of the
function which allows you to differentiate between overloaded
functions.
Always returns an array with two String types and a Boolean
type specified
Gets the minimum number of arguments for the function. This enables
the user to differentiate between overloaded functions.
Always returns three
Gets the maximum number of arguments for the function. This enables
the user to differentiate between overloaded functions.
Always returns three
Gets the XPath type returned by the function
Always returns Boolean
This class contains information about the loaded build components.
Constructor
The XPath navigator containing the
component's configuration information
This read-only property returns the ID of the build component
This read-only property returns the type name of the component
This read-only property returns the path to the assembly containing
the component
This read-only property returns copyright information for the
component.
This read-only property returns version information for the
component.
This read-only property returns a description of the component
This read-only property returns the hidden flag
If hidden, the component will not be selectable from
within the help file builder.
This read-only property returns true if the component configuration
is valid or false if it is not.
If not valid, the component cannot be used.
If not valid, this read-only property returns the reason
This read-only property returns the method name used to configure
the component interactively from within the help file builder.
If not specifed, a default editor will be used to allow
modifying the raw XML configuration text.
This read-only property returns the default configuration for
the component.
This will include the enclosing <component> tag.
This read-only property returns the position of the component in
the reference build configuration file (sandcastle.config).
If not defined, it will not be used.
This read-only property returns the position of the component in
the conceptual build configuration file (conceptual.config).
If not defined, it will not be used.
This read-only property returns the collection of component IDs
on which this component depends.
This is used to give a more descriptive message in the property
grid for the .
This type converter is used to convert a FilePath object to and from
a string so that it can be edited in a
.
This represents a conceptual content token that can be used to insert
a common item, value, or construct into topics.
This class is serializable so that it can be copied to the
clipboard.
Constructor
The token name defaults to "NoName"
Constructor
The token name
The token value
Convert the token to its <token> element form
The token in its <token> element form
This is used to get or set the token name
This is used to get or set the token value
The value can contain help file builder replacement tags.
These will be replaced at build time with the appropriate project
value.
This public enumerated type defines the API entry types that can be
removed from the reflection information file.
An unknown entry
A namespace
A class
An interface
An interface
An enumeration
A delegate
A constructor
A method
An operator
A property
An event
A field
This public enumerated type defines the type of links used to reference
other help topics referring to framework (SDK) help topics.
No active links.
MS-Help style links for use within an HTML 2.x help
file.
Links to framework topics on MSDN. This is the
default. This type is compatible with HTML 1.x and HTML
2.x help files.
This defines the build action (item name) for build items in a project
No action, the item is ignored
Conceptual content image file
Conceptual content code snippets file
Conceptual content token file
Conceptual content layout file
Additional content site map file
Additional content topic transformation file
General content file (HTML, stylesheet, images not
related to conceptual content, etc.)
A folder (project explorer designation only, not a build
action)
The project (project explorer designation only, not a
build action)
A documentation source (project explorer designation only,
not a build action)
A reference item (project explorer designation only, not a
build action)
This public enumerated type defines the missing documentation tags for
which to search.
Do not search for any missing tags.
Search for missing <summary> tags.
Search for missing <param> tags.
Search for missing <returns> tags.
Search for missing <value> tags.
Search for missing <remarks> tags.
Automatically document constructors if they are missing a
<summary> tag.
Search for missing namespace comments.
Search for missing <typeparam> tags.
Search for missing <include> target documentation.
This collection class is used to hold a plug-in's configuration and
enabled state.
This is the base class for collection items that are stored in an
MSBuild property element.
Constructor
The owning project
This is used to see if the project can be edited. If not, abort
the change by throwing an exception.
This is used to get the owning project file
This is used to get or set the dirty state of the item
Internal constructor
The enabled state
The configuration
The owning project
This is used to get or set the plug-in's enabled state
If set to false, the plug-in will not be used in the build
This is used to get or set the plug-in's configuration information
This should be an XML fragment. The root node should be
named configuration.
This is used to mark a property that needs its value escaped when
stored in an MSBuild project file.
MSBuild requires that the following characters be escaped in
property values unless they are intended to be interpreted by the
build engine: % * ? @ $ ( ) ; '. In addition, this attribute will
cause the values to be HTML encoded so that any HTML characters,
especially tag delimiters are not interpreted. MSBuild tends to add
XML namespaces to things it thinks are XML elements.
This is used to HTML encode and escape an MSBuild property value.
The unescaped value
The HTML encoded escaped value
This is used to return an unescaped and HTML decoded MSBuild value
The escaped value
The unescaped and HTML decoded value
MSBuild provides an escape method but no unescape method.
Go figure.
This is used to convert the match to its unescaped character
The match
The unescaped character as a string
Convert a hex character to its integer value
The hex character
The integer value
This class is used to manage the set of third party build components.
Load the build components found in the ".\Build Components" folder
and its subfolders.
This is used to resolve replacement tags and environment variables
in a build component's assembly path and return the actual path
to it.
The path to resolve
The actual absolute path to the assembly
This read-only property returns the build components folder
This is used to set or get the Sandcastle installation folder
This returns a dictionary containing the loaded build component
information.
The dictionary keys are the component IDs.
This class is a custom XPath function used to convert an API name into
its more readable form used for searching.
The function should be passed an XML node containing the
necessary information used to obtain the name and convert it into the
searchable format along with a boolean indicating whether or not the
name should be fully qualified with the namespace and type.
Some examples of XPath queries using the function:
//apis/api[matches-regex(resolve-name(node(), boolean(false),
'utils.*proj', boolean(true))
//apis/api[matches-regex(resolve-name(node(), boolean(true)),
'Proj|Filt|Excep', boolean(false))
This is called to invoke the resolve-name method.
The XSLT context for the function call
The arguments for the function call
The context node for the function call
An object representing the return value of the function
(the name string).
This is thrown if the
number of arguments for the function is not two.
This is used to replace the template marker in a type name
The API node to use
The node text to modify
The updated node text
Gets the supplied XPath types for the function's argument list.
This information can be used to discover the signature of the
function which allows you to differentiate between overloaded
functions.
Always returns an array with a Navigator type
and a Boolean type entry.
Gets the minimum number of arguments for the function. This enables
the user to differentiate between overloaded functions.
Always returns two
Gets the maximum number of arguments for the function. This enables
the user to differentiate between overloaded functions.
Always returns two
Gets the XPath type returned by the function
Always returns String
This represents a a namespace summary item that can be used to add
comments to a namespace in the help file or exclude it completely
from the help file.
Internal constructor
The namespace's name
The flag indicating whether or not the
namespace is to be documented.
The summary text
The owning project
Return the namespace name as the string representation of the
object.
The namespace name
This is used to get or set whether or not the namespace is included
in the help file.
This is used to get or set the namespace summary comments
This read-only property is used to get the namespace name
This task is used to clean (remove) help file output from the last
build.
This is used to execute the task and clean the output folder
True on success or false on failure.
This is used to pass in the project filename
Since already wraps the
MSBuild project, it made sense to just load it in the task and
build it that way rather than have one or more other structures
to hold passed in project properties that then got passed to the
build process.
This is used to pass in the output path that needs to be cleaned
This is used to pass in the optional working path that needs to be
cleaned.
This is used to pass in the optional log file location that needs
to be cleaned.
This is a really basic implementation of an algorithm used to create
a full-text index of the website pages so that they can be searched
using the ASP.NET web pages.
So that an assembly does not have to be deployed to
deserialize the index information, the index information is represented
using built-in data types (string and long).
Constructor
The file containing common word
exclusions. The file should contain one work per line in
lowercase. These words will not appear in the index.
The culture information
Create a full-text index from web pages found in the specified
file path.
The path containing the files to index
Words in the exclusion list, those that are less than
three characters long, and anything starting with a digit will
not appear in the index.
Save the index information to the specified location.
The path to which the index files are
saved.
Binary serialization is used to save the index data.
This form is used to edit a build component configuration as XML text.
This is used for components that have to built-in configuration method.
Constructor
Close the form without saving
The sender of the event
The event arguments
Save the changes
The sender of the event
The event arguments
Clear the text selection on entry to prevent accidental
deletion of the text.
The sender of the event
The event arguments
Required designer variable.
Clean up any resources being used.
true if managed resources should be disposed; otherwise, false.
Required method for Designer support - do not modify
the contents of this method with the code editor.
This is used to set or get the configuration text
This collection class is used to hold the conceptual content image
references for a project.
Constructor
The project file containing the image
build items.
This is used to sort the collection
Values are sorted by display title and ID. Comparisons
are case-insensitive.
Write the image reference collection to a map file ready for use
by BuildAssembler.
The file to which the image reference
collection is saved.
The path to which the image files
should be copied.
The build process
Images with their
property set to true are copied to the media folder immediately.
This is used to refresh the collection by loading the image
build items from the project.
Find the image with the specified ID (case-insensitive).
The ID to find
The image if found or null if not found
Find the image with the specified filename.
The filename to find
The image if found or null if not found
This can be used to get an image by its unique ID (case-sensitive)
The ID of the item to get.
Returns the image with the specified
or null if not found.
This form is used to edit the project summary comments.
Required designer variable.
Clean up any resources being used.
true if managed resources should be disposed; otherwise, false.
Required method for Designer support - do not modify
the contents of this method with the code editor.
Constructor
Clear the selection to prevent accidental deletion of the text
The sender of the event
The event arguments
Get or set the project summary comments
This property descriptor can be used to alter the read-only state of a
property in a property grid at runtime based on other conditions.
To use it, derive a new class and override the
property.
Constructor
The type descriptor
The property descriptor
This is used to get the associated type descriptor
This is used to get the property descriptor wrapped by this class
Derived classes must override this method
This class is used to convert NDoc 1.x project files to the MSBuild
format project files used by the help file builder.
Constructor
The old project filename
The folder in which to place the new project
and its related files. This cannot be the same folder as the
old project file.
This is used to perform the actual conversion
The new project filename on success. An exception is
thrown if the conversion fails.
Add additional content to the project
The folder containing the content
An XML reader isn't used by this converter
This class is used to convert DocProject project files to the MSBuild
format project files used by the help file builder.
Constructor
The old project filename
The folder in which to place the new project
and its related files. This cannot be the same folder as the
old project file.
This is used to perform the actual conversion
The new project filename on success. An exception is
thrown if the conversion fails.
Parse project properties from the project extensions section
Import a file into the project
The file information
Import image file information from a media content file.
The media content filename
Import attribute information from a companion file
The companion filename
Create a content layout file for the conceptual topics
Convert a conceptual content topic and all of its children
The XML reader containing the topics
The XML writer to which they are written
Topic settings were found but no content layout file. In such
cases, this is called to create a default content layout file
based on the settings alone.
An XML reader isn't used by this converter
This class holds a set of constants that define various application
values such as the application name, common data folder, etc.
The company name
The application name
The application folder in which the component and user
data files are stored.
This folder will be located under the
CommonApplicationData
or LocalApplicationData
folder.
This folder is located under the
LocalApplicationData
folder and contains user-defined item templates that can be added
to a project.
This folder is located under the
LocalApplicationData
folder and contains user-defined conceptual content topic templates
that can be added to a project.
This folder is located under the
CommonApplicationData
folder and contains custom build components that can be added to a
project.
This folder is located under the
CommonApplicationData
folder and contains custom plug-ins that can be added to a
project.
This collection class is used to hold the reference items for a project
Internal constructor
The project that owns the collection
This is used to sort the collection in ascending order.
This is used to ensure that the collection has up to date
information about the reference build items in the project.
True to refresh if out of date or false
to only load the references if not already done.
The collection is only loaded when necessary
Add a new GAC or file reference item to the collection
The reference name. This will be the
GAC name or the base filename for file reference.
The hint path for file references. For
GAC references, this should be null.
The added to the
project. If the named item already exists in the collection
a reference to the existing item is returned.
The constructor is internal
so that we control creation of the items and can associate them
with a project element.
Add a new project reference item to the collection
The path to the project
The added to the
project. If the named item already exists in the collection
a reference to the existing item is returned.
Remove an item from the collection and from the project file
The index of the item to remove
This is overridden to suppress the event when loading references
The event arguments
This public enumerated type defines the optional visible items in the
help file.
None of the optional items are visible.
Document attributes.
Document explicit interface implementations.
Document inherited members.
Document inherited framework members. For this to work,
InheritedMembers must also be enabled.
Document internal members.
Document private members.
Document protected members.
Document "protected internal" members as "protected"
only.
Document protected members of sealed classes. For this
to work, Protected must also be enabled.
Document private fields. For this to work,
Privates must also be enabled.
Document inherited private framework members. For this to
work InheritedFrameworkMembers must also be enabled.
Document inherited internal framework members. For this to
work InheritedFrameworkMembers must also be enabled.
This class defines the execution context in which the plug-in is being
called during the build process.
Constructor
The current build step.
The behavior of the plug-in for the
current context.
This is thrown if an attempt
is made to specify more than one behavior type.
This read-only property returns the current build step
This read-only property returns the execution behavior for the
plug-in in the current context.
Before indicates that it is being called before the
normal help file builder processing. After indicates that
it is being called after the normal help file builder processing.
InsteadOf indicates that it is being called instead of the
normal help file builder processing.
This property is used to set or get whether or not the plug-in
actually executed.
It is true by default. Set it to false if the plug-in
did not execute.
This collection class is used to hold the help attribute items for a
project.
Constructor
The project that owns the collection or
null for a standalone collection
This is used to sort the collection
Values are sorted by attribute name and value
This is used to load existing help attribute items from the project
file.
The help attribute items
The information is stored as an XML fragment
Load the help attributes from the given XML text reader
This is used to write the help attribute info to an XML fragment
ready for storing in the project file.
The XML fragment containing the help attribute info
Write the collection to the given XML text writer
The XML text writer to which the information
is written.
True to write out the containing
HelpAttributes element, false to exclude it.
Add a new item to the collection
The attribute name
The attribute value
The added to the project. If
If the item already exists in the collection, the existing item is
returned.
The constructor is internal so
that we control creation of the items and can associate them with
the project.
Convert the collection to its string form for use in the
sandcastle.config file.
The help attribute collection in string form ready for
use in the Sandcastle BuildAssembler configuration file.
This is used to mark the collection as changed when there is no
associated project.
This is overridden to mark the collection as dirty when it changes
The event arguments
This is used to get or set the dirty state of the collection
This type converter converts between a string and a
object and vice versa.
A object. The value is
always a four-part version number with any unused parts defaulted
to zero. If the new value is null or an empty string, null is
returned.
This type converter allows you to select a presentation style folder
from those currently installed in the .\Presentation folder
found in the main installation folder of Sandcastle.
This is used to get the standard values by searching for the
.NET Framework versions installed on the current system.
This is overridden to return the values for the type converter's
dropdown list.
The format context object
Returns the standard values for the type
This is overridden to indicate that the values are exclusive
and values outside the list cannot be entered.
The format context object
Always returns true
This is overridden to indicate that standard values are supported
and can be chosen from a list.
The format context object
Always returns true
This is used to find out if the specified style is present on the
system.
The style for which to look
True if present, false if not found
This is used to get the first style that matches case-insensitively
or, failing that, starts with or contains the given value
case-insensitively.
The style for which to look
The best match or the first style if not found.
This returns the default style
Returns vs2005 if present. If not, it returns the
first best match or, failing that, the first style in the list.
This is used to select and edit the plug-in configurations.
To be editable, the plug-in assembly must be present in
the .\Plug-Ins folder or a subfolder beneath it. The plug-ins
folder is found under the common application data folder.
Required designer variable.
Clean up any resources being used.
true if managed resources should be disposed; otherwise, false.
Required method for Designer support - do not modify
the contents of this method with the code editor.
Constructor
The current configurations
Close this form
The sender of the event
The event arguments
Update the plug-in details when the selected index changes
The sender of the event
The event arguments
Update the enabled state of the plug-in based on its checked state
The sender of the event
The event arguments
Add the selected plug-in to the project with a default
configuration.
The sender of the event
The event arguments
Edit the selected plug-in's project configuration
The sender of the event
The event arguments
Delete the selected plug-in from the project
The sender of the event
The event arguments
View help for this form
The sender of the event
The event arguments
This is used to give a more descriptive message in the property
grid for the .
This collection class is used to hold the conceptual content tokens
for an associated token file.
Constructor
The token file associated with the collection.
Tokens are not loaded until the method
is called.
This is used to sort the collection
Values are sorted by token name and value. Comparisons
are case-sensitive.
Load the collection from the related file
This will be done automatically at constructor. This can
be called to reload the collection if needed.
Save the token collection to its related file ready for use by
BuildAssembler.
This read-only property returns the project file item associated
with the collection.
This is a custom event arguments class for the
event.
Constructor
Get the current build step of the build process
Get the message associated with the progress report
Get a flag indicating whether or not the build has completed
This collection class is used to hold the namespace summary items
for a project.
Namespaces that appear in the assemblies but not in this
list are documented by default and will appear without a namespace
summary.
Internal constructor
The project that owns the collection
This is used to sort the namespace items by name
This is used to load existing namespace summary items from the
project file.
The namespace summary items
The information is stored as an XML fragment
This is used to write the namespace summary info to an XML
fragment ready for storing in the project file.
The XML fragment containing the namespace summary info
Add a new item to the collection
The namespace name
True for documented, false for not
documented
The summary text
The added to the
project. If the namespace already exists in the collection,
the existing item is returned.
The constructor is
internal so that we control creation of the items and can
associate them with the project.
Create a temporary item that isn't part of the project
The namespace name
The that can later
be added to the project if necessary.
This is thrown if the given
namespace already exists in the collection.
This is overridden to mark the collection as dirty when it changes
The event arguments
This is used to get a reference to the project that owns the
collection.
This is used to get or set the dirty state of the collection
Indexer. This can be used to retrieve the summary information
for the specified namespace.
The namespace for which to search
The namespace summary information if found or null if
not found.
This public enumerated type defines the naming method to use for the
help topic filenames.
Use the default GUID file naming method.
Use the member name without parameters as the
filename. The characters ":", ".", "#", and "`" in the name are
replaced with an underscore (i.e. T:CustomType becomes
T_CustomType, M:CustomType.#ctor becomes M_CustomType__ctor,
P:CustomType.Property becomes P:CustomType_Property, etc).
Duplicate names will have an incrementing value appended to the
end of the name (i.e. M_CustomType_Method,
M_CustomType.Method_1, M_CustomType_Method_2, etc).
Use the hashed member name without parameters as the
filename. No character replacements are made for this option
and the GetHashCode method is used to generate the hash
value and it is formatted as a hex value. This is useful for
extremely long type names that cause the filename to exceed the
maximum length when the full path is included. Duplicate names
will have an incrementing value appended to the name prior to
creating the hash value as needed.
This public enumerated type defines the languages to include in the
help topic Syntax section.
Do not include the syntax section.
Include C# syntax.
Include VB.NET syntax.
Include C++ syntax.
Include the J# syntax.
Include the JScript syntax.
Include the Visual Basic usage syntax.
Include the XAML usage syntax.
Include the JavaScript syntax.
The standard set (C#, VB.NET, and C++).
Include all languages except the usage filters
Include all languages and usage.
This collection class is used to hold the help index keyword items for
a project.
This is used to sort the collection
Values are sorted by index name and term
This is used to load the keyword collection from the project
file.
The XML text reader from which the information
is loaded.
This is used to save the keyword collection to the project
file.
The XML text writer to which the information
is written.
This is used to mark the collection as changed when there is no
associated project.
This represents an HTML Help 2.x attribute that can be added to the
XML data island in each help topic generated by BuildAssembler.
Internal constructor
The attribute name
The attribute value
The owning project
Compares this instance to another instance and returns an
indication of their relative values.
A MSHelpAttr object to compare
Returns -1 if this instance is less than the
value, 0 if they are equal, or 1 if this instance is
greater than the value or the value is null.
Entries are sorted by name and then value
Get a hash code for this item
Returns the hash code for the attribute name and value.
Return a string representation of the item
Returns the item in its XML format
This is used to get or set the attribute name
This is used to get or set the attribute value
This task is used to build help file output using the Sandcastle Help
File Builder.
This is used to execute the task and perform the build
True on success or false on failure.
This is used to obtain a reference to the project that is currently
being built.
The current project if possible or null if it could not
be obtained.
The build engine provides no way to get a reference to
the current project. As such, we have to resort to reflection to
get it. This was much easier under .NET 2.0 as the project was a
project of the BuildEngine object. The .NET 3.5 build engine hides
it way down in the object hierarchy. We could build the project
without it but we lose the ability to use command line overrides
and changes to user-defined properties.
This is called by the build process thread to update the
application with the current build step.
The sender of the event
The event arguments
This is called by the build process thread to update the
task with information about progress.
The sender of the event
The event arguments
This is used to pass in the project filename
Since already wraps the
MSBuild project, it seemed redundant to define each and every
property on this task and map them to the project properties. As
such, this task will attempt to use the executing project to create
the Sandcastle project instance. If that fails or
is true, this file will be
loaded instead. The downside is that property overrides on the
command line will be ignored.
This is used to pass in the configuration to use for the build
This is used to pass in the platform to use for the build
This is used to specify the output directory containing the build
output for solution and project documentation sources when using
Team Build.
This property is optional. If not specified, the default
output path in project file documentation sources will be used.
This is used to set or get the output logging verbosity flag
This property is optional. If set to false (the default),
only build steps are written to the task log. If set to true, all
output from the build process is written to the task log.
This is used to set or get whether the log file is dumped to the
task log if the help file project build fails.
This property is optional. If set to false (the default),
the log is not dumped if the build fails. If set to true, all
output from the build process is written to the task log if the
build fails.
This is used to specify whether or not to load the specified
rather than use the executing project.
This property is optional. If set to false, the default,
the executing project is used as the Sandcastle project to build.
If set to true, the specified is loaded.
In such cases, command line property overrides are ignored.
This is used to return a list of the Help 1 (CHM) files that
resulted from the build.
This is used to return a list of the Help 2 (HxS) files that
resulted from the build.
This is used to return a list of the website files that resulted
from the build.
This is used to return a list of all files that resulted from the
build (all help formats).
This is a type editor that displays a checked list box as the drop-down
editor for an enumerated data type that represents a set of flags.
This makes it easy to select multiple values with the drop-down.
This is overridden to edit the value using a checked list box
control as the drop-down editor.
The descriptor context
The provider
The enumerated type object to edit
The edited enumerated type object
This is overridden to specify the editor's edit style
The descriptor context
Always returns DropDown as long as there is a
context and an instance. Otherwise, it returns None.
This is a type editor that displays the
to edit the build
component configurations.
This is overridden to edit the value using the
dialog.
The descriptor context
The provider
The component configuration dictionary as an
object
The edited component configuration dictionary as an
object
This is overridden to specify the editor's edit style
The descriptor context
Always returns Modal as long as there is a context
and an instance. Otherwise, it returns None.
This is a custom property grid that allows you to set the initial
width of the property name pane and has a context menu that allows
you to hide the description pane and reset the selected property
value.
Constructor
Clean up any resources being used.
True to release both managed and unmanaged
resources, false to just release unmanaged resources.
This is overridden to reset the pane width to the user-preferred
width after creating the control.
This updates the context menu based on the current property grid
state before it is displayed.
The sender of the event
The event arguments
Reset the value of the current property
The sender of the event
The event arguments
Show or hide the property description pane
The sender of the event
The event arguments
Copy the current property's name to the clipboard
The sender of the event
The event arguments
This is used to set or get the width of the property name pane
Reflection is used to modify the pane width
This represents a conceptual content CodeReference that can be used to insert
a common item, value, or construct into topics.
This class is serializable so that it can be copied to the
clipboard.
Constructor
The reference ID
Convert the token to its <codeReference> element form
The token in its <codeReference> element form
This is used to get or set the CodeReference name
This exception class is thrown by the application if it encounters an
unrecoverable error.
Default constructor.
There are six overloads for the constructor
This constructor takes an error code and a message string
The error code. The suggested format is
one to four letters to identify the component or process followed
by four digits, zero padded to the left, with no spaces.
The exception message
This constructor takes an error code, a message string, and an
inner exception.
The error code. The suggested format is
one to four letters to identify the component or process followed
by four digits, zero padded to the left, with no spaces.
The exception message
The inner exception
Deserialization constructor for use with
.
The serialization info object
The streaming context object
This implements the
interface and adds the error code to the serialization information.
The serialization info object
The streaming context
Get the error code associated with the exception
This collection class is used to hold build items from a project.
Constructor
The project file containing the build items
The build action for the items to hold in
the collection.
This is used to sort the collection
Values are sorted by display title and ID. Comparisons
are case-insensitive.
Sort content layout files
The first file item
The second file item
General sort
The first file item
The second file item
This is used to refresh the collection by loading the image
build items from the project.
This class defines when a plug-in gets executed during the build
process.
Constructor
The step in which the plug-in
should run.
The behavior of the plug-in when it
is ran.
This is thrown if an attempt
is made to set the Before or After behavior with the InsteadOf
behavior. It is also thrown for invalid combinations of build
step and behavior, i.e. Initializing with Before or InsteadOf.
See the help file for a full list.
There are two overloads for the constructor.
This constructor is used to set a specific execution priority.
The step in which the plug-in
should run.
The behavior of the plug-in when it
is ran.
The execution priority for the
plug-in.
This read-only property returns the build step in which the
plug-in will run.
This read-only property returns the execution behavior of the
plug-in.
This read-only property returns the execution priority of the
plug-in.
Plug-ins with a higher priority value will execute before
those with a lower priority value. If not specified, the default
is 1,000.
This defines the different cache types that can be used
This defines the items that GetDisplayName returns
This defines the parts to use when comparing assembly information
This defines the various ID values used for assembly properties
This is used to represent an assembly name
This is used to enumerate the assemblies in the GAC
This defines the one and only method we need in the help file builder
Private constructor
This is used to obtain an instance of the assembly enumerator
A reference that will end up containing the
IAssemblyEnum interface.
Reserved. Must always be null.
An assembly name that is used to filter the
enumeration. This can be null to enumerate all assemblies in the
GAC.
Specify one (and only one) ASM_CACHE_FLAGS
value.
Reserved. Must always be null.
This is a type editor that can display a file dialog to allow
selection of a file path at design time for a
object.
It is used in conjunction with the
to specify the file dialog title,
filter, and type
This is a type editor that can display a file dialog to allow
selection of a file path at design time for a string object.
It is used in conjunction with the
to specify the file dialog title,
filter, and type
This is overridden to edit the value using a file dialog.
The descriptor context
The provider
The file path as an object
The selected file path as an object
This is overridden to specify the editor's edit style
The descriptor context
Always returns Modal as long as there is a context
and an instance. Otherwise, it returns None.
This is overridden to edit the value using a file dialog.
The descriptor context
The provider
The file path as an object
The selected file path as an object
This is used to give a more descriptive message in the property
grid for the .
This represents a COM reference item that can be used by
MRefBuilder to locate assembly dependencies for the assemblies
being documented.
Internal Constructor
The project element
Hint path isn't applicable to COM references
This is used to get the project reference's GUID
This is used to get the major version number
This is used to get the minor version number
This is used to get the wrapper tool
A strongly-typed resource class, for looking up localized strings, etc.
Returns the cached ResourceManager instance used by this class.
Overrides the current thread's CurrentUICulture property for all
resource lookups using this strongly typed resource class.
Looks up a localized string similar to <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<!-- The configuration and platform will be used to determine which
assemblies to include from solution and project documentation
sources -->
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>$guid1$</ProjectGuid>
[rest of string was truncated]";.
This class is used to get a list of assemblies in the Global Assembly
Cache (GAC).
This static property is used to obtain a list containing the
fully qualified names of all assemblies in the GAC.
This is a simple derived group box control that draws the label text
followed by a dividing line to the right of the text but no other
surrounding border.
Constructor
This is overridden to draw the text and the dividing line
The event arguments
This public enumerated type defines the placement of the additional
content items in the table of contents if any are defined.
Additional content appears above the namespaces
Additional content appears below the namespaces
This event arguments class is used to specify which project property
changed along with the old and new values.
Constructor
The property name
The old value
The new value
This read-only property returns the property name
This read-only property returns the old value
This read-only property returns the new value
This interface defines the methods required to implement a build
process plug-in for the Sandcastle Help File Builder.
Derived classes must also implement the
methods.
This method is used by the Sandcastle Help File Builder to let the
plug-in perform its own configuration.
A reference to the active project
The current configuration XML fragment
A string containing the new configuration XML fragment
The configuration data will be stored in the help file
builder project.
This method is used to initialize the plug-in at the start of the
build process.
A reference to the current build
process.
The configuration data that the plug-in
should use to initialize itself.
This method is used to execute the plug-in during the build process
The current execution context
This read-only property returns a friendly name for the plug-in
This read-only property returns the version of the plug-in
This read-only property returns the copyright information for the
plug-in.
This read-only property returns a brief description of the plug-in
This read-only property returns true if the plug-in should run in
a partial build or false if it should not.
If this returns false, the plug-in will not be loaded when
a partial build is performed.
This read-only property returns a collection of execution points
that define when the plug-in should be invoked during the build
process.
This public enumerated type defines the execution behavior of a build
process plug-in.
Execute before the help file builder's normal
processing.
Execute after the help file builder's normal
processing.
Execute both before and after the help file builder's
normal processing.
Execute instead of the help file builder's normal
processing. If this flag is set, Before and After are
ignored.
This public enumerated type defines the type(s) of help file generated
HTML Help 1.x format built with HHC.EXE
HTML Help 2.x format built with HXCOMP.EXE
A website with basic frame set viewer page
An HTML Help 1.x and an HTML Help 2.x file
An HTML Help 1.x file and website
An HTML Help 2.x file and website
An HTML Help 1.x file, HTML Help 2.x file, and a
website
This task is used to run HHC.EXE which is used to compile a Help 1
(CHM) help file.
Support is provided for wrapping the tool in a call to an
application such as SBAppLocale.exe to workaround encoding issues with
the Help 1 compiler.
Validate the parameters
True if the parameters are valid, false if not
This returns the full path to the tool
The full path to the tool
Generate the command line parameters
The command line parameters
This is overridden to set the working folder before executing
the task and to invert the result returned from the help compiler.
True if successful or false on failure
This is overridden to invert the result of the HHC exit code
True on success, false on failure. HXCOMP is backwards
and returns 0 on failures and 1 on success. We invert the result
to be consistent with other tasks.
This read-only property returns the tool name (HHC.EXE or the
value of if specified).
This is overridden to force all standard error info to be logged
This is overridden to force all standard output info to be logged
This is used to pass in the working folder where the files are
located.
This is used to pass in the path to the help compiler
This is used to pass in the help project filename
This is used to pass in the name of the application to use as the
localization wrapper.
This is optional. If specified, it will be used to run
the help compiler to work around encoding issues.
This is used to get or set the language ID for the localization
tool (see cref="LocalizeApp" />).
This is optional. If not specified, it defaults to 1033.
It is ignored if is not set.
This represents a conceptual content CodeEntityReference that can be used to insert
a common item, value, or construct into topics.
This class is serializable so that it can be copied to the
clipboard.
Constructor
The reference ID
Convert the entity to its <codeEntityReference> element
form
The entity in its <codeEntityReference>
element form
Convert the entity to its <see> element form
The token in its <see> element form
This is used to get or set the CodeEntityReference name
This public enumerated type defines the collection table of contents
style for HTML Help 2 collections.
The collection content will be grouped under a root
node.
The collection content will be listed at the root
level.
This collection class is used to hold the conceptual content code
snippet information for an associated code snippets file.
Constructor
The code snippets file associated with the
collection.
Code snippets are not loaded until the
method is called.
This is used to sort the collection
Values are sorted by ID. Comparisons are case-sensitive.
Load the collection from the related file
This will be done automatically at constructor. This can
be called to reload the collection if needed.
This is used to get the build item related to the code snippet file
containing the collection items.
This class contains information about the loaded plug-ins
Constructor
Type information for the plug-in
Get a new instance of the plug-in
A new instance of the plug-in
This read-only property returns the name of the plug-in
This read-only property returns the copyright information for the
plug-in.
This read-only property returns a description of the plug-in
This read-only property returns the version number of the plug-in
This read-only property returns type information for the plug-in
This collection class is used to hold the API filter entries for
MRefBuilder to remove.
Unlike other collections in the project,
this one is cleared and rebuilt if it changes. As such, the contained
items do not notify the project when they change as they are created
anew each time the collection is rebuilt.
Internal constructor
The project that owns the collection
Child collections do not contain a reference to the
project file.
This is used to sort the collection
All top level items and their children are sorted by
API entry type and then by name
This is used to load existing API filter items from the project
file.
The API filter items
The information is stored as an XML fragment
This is used to write the API filter info to an XML fragment ready
for storing in the project file.
The XML fragment containing the help attribute info
This is used to merge an entry with the filter collection
The entry type
The member's full name
True to expose it, false to remove it
True if this is a project exclude
(currently this will always be true).
True if merged without conflict or false if the merged
member conflicted with an existing entry. The existing entry
will take precedence.
Add a new type entry to this namespace collection
The full name of the entry
The namespace
The type name
The member
True if merged without conflict or false if the merged
member conflicted with an existing entry. The existing entry
will take precedence.
Entries added by this method are exclusions based on
namespace comment or <exclude/> tag exclusions.
Add a new member entry to this type collection
The full name of the entry
The type name
The member
True if merged without conflict or false if the merged
member conflicted with an existing entry. The existing entry
will take precedence.
Entries added by this method are exclusions based on
namespace comment or <exclude/> tag exclusions.
This is overridden to mark the collection as dirty when it changes
The event arguments
Convert the API filter entry and its children to a string
The entries in the MRefBuilder API filter XML format
Clone the API filter collection
A clone of the collection
This is used to get or set the dirty state of the collection
This is used to get a reference to the project that owns the
collection.
Child collections do not contain a reference to the
project file.
This class is used to represent a file path. Support is included for
treating the path as fixed or relative and for expanding environment
variables in the path name.
This raises the event
The event arguments
This raises the event
The event arguments
This is used to handle an implicit conversion from a
object to a string.
The to convert.
The file path as a relative or absolute path string
based on its current settings.
FilePath filePath = new FilePath(@"%APPDATA%\TestApp\App.config");
// The FilePath object is automatically converted to a string
// representing the expanded, fully qualified path.
string pathString = filePath;
Dim filePath As New FilePath("%APPDATA%\TestApp\App.config")
' The FilePath object is automatically converted to a string
' representing the expanded, fully qualified path.
Dim pathString As String = filePath
Overload for equal operator.
The first object to compare
The second object to compare
True if equal, false if not.
Overload for not equal operator.
The first object to compare
The second object to compare
True if not equal, false if they are.
This returns the fully qualified path for the specified path.
This version allows wildcards in the filename part if present.
The path to expand
The fully qualified path name
The System.IO.Path version of
will throw an exception
if the path contains wildcard characters. This version does not.
This helper method can be used to convert an absolute path to one
that is relative to the given base path.
The base path
An absolute path
A path to the given absolute path that is relative to the
given base path.
If the base path is null or empty, the current working
folder is used.
string basePath = @"E:\DotNet\CS\TestProject\Source";
string absolutePath = @"E:\DotNet\CS\TestProject\Doc\Help.html";
string relativePath = FilePath.AbsoluteToRelativePath(basePath,
absolutePath);
Console.WriteLine(relativePath);
// Results in: ..\Doc\Help.html
Dim basePath As String = "E:\DotNet\CS\TestProject\Source"
Dim absolutePath As String = "E:\DotNet\CS\TestProject\Doc\Help.html"
Dim relativePath As String = _
FilePath.AbsoluteToRelativePath(basePath, absolutePath);
Console.WriteLine(relativePath)
' Results in: ..\Doc\Help.html
This helper method can be used to convert a relative path to an
absolute path based on the given base path.
The base path
A relative path
An absolute path
If the base path is null or empty, the current working
folder is used.
string basePath = @"E:\DotNet\CS\TestProject\Source";
string relativePath = @"..\Doc\Help.html";
string absolutePath = FilePath.RelativeToAbsolutePath(basePath,
relativePath);
Console.WriteLine(absolutePath);
// Results in: E:\DotNet\CS\TestProject\Doc\Help.html
Dim basePath As String = "E:\DotNet\CS\TestProject\Source"
Dim relativePath As String = "..\Doc\Help.html"
Dim absolutePath As String = _
FilePath.RelativeToAbsolutePath(basePath, relativePath);
Console.WriteLine(absolutePath)
' Results in: E:\DotNet\CS\TestProject\Doc\Help.html
This is used to prevent the Path property from showing as modified
in the designer.
Always returns false
The property is mainly for display
purposes in the designer but can be used for making changes to
the expanded path if needed. The
property is used as the display value in the designer.
Default constructor. The file path is undefined.
The base base provider
There are three overloads for the constructor.
Constructor. Assign the specified path.
A relative or absolute path.
The base base provider
Unless is set to true,
the path is always treated as a relative path.
Constructor. Assign the specified path and fixed setting.
A relative or absolute path.
True to treat the path as fixed, false
to treat it as a relative path.
The base base provider
Convert the file path to a string
A fixed or relative path based on the current
settings.
Get a hash code for the file path object
Returns the hash code of the
value converted to lowercase.
This is overridden to allow proper comparison of file path objects.
The object to which this instance is
compared.
Returns true if the object equals this instance, false
if it does not.
This returns a clone of the object
A clone of the object
This is used to get the base path provider for the object.
This returns the base path for the object
If no has been specified,
this returns the current directory.
This is used to get or set the path to use.
When set, if the path is not rooted (a relative path),
is set to false. If rooted (an absolute
path), it is not changed. This property always returns a fully
qualified path but without any environment variable expansions.
If set to a null or empty string, the file path is cleared and
is considered to be undefined.
MSBuild environment variable references are
also supported (i.e. $(DXROOT), $(OutputPath), etc.).
FilePath path = new FilePath();
// Set it to a relative path
path.Path = @"..\..\Test.txt";
// Set it to an absolute path
path.Path = @"C:\My Documents\Info.doc";
// Set it to a path based on an environment variable
path.Path = @"%HOMEDRIVE%%HOMEPATH%\Favorites\*.*";
Dim path As New FilePath()
' Set it to a relative path
path.Path = "..\..\Test.txt"
' Set it to an absolute path
path.Path = "C:\My Documents\Info.doc"
' Set it to a path based on an environment variable
path.Path = "%HOMEDRIVE%%HOMEPATH%\Favorites\*.*"
This is used to retrieve the file path in a format suitable for
persisting to storage based on the current settings.
If is true, an absolute path
is always returned. If false, the path is returned in a form that
is relative to the path stored in the
property.
This read-only property can be used to determine whether or not
the file path exists.
This read-only property is used to display the fully qualified
path with environment variable expansions in the designer.
This is used to indicate whether or not the path will be treated
as a relative or fixed path when converted retrieved via the
property.
If true, the path is returned as a fixed path when
retrieved. If false, it is returned as a path relative to the
current value of the property.
This event is raised when the persistable path is about to be
changed.
This event is raised when the persistable path changes
This is a type editor that can display a folder browser dialog to
allow selection of a folder path at design time.
This can be used in conjunction with the
to specify the folder browser
dialog's properties.
This is overridden to edit the value using a folder browser dialog.
The descriptor context
The provider
The folder path as an object
The selected folder path as an object
This public enumerated type defines the build steps used when reporting
progress during a build.
The build has not yet started.
Initializing to prepare for build.
The working folder is about to be created or cleared.
The builder is searching for Sandcastle and the
HTML help compiler.
The documentation source information is being validated
and copied to the build folder.
The shared content files are being generated.
Generate the API filter for MRefBuilder
The reflection information is being generated by
MRefBuilder.
Namespace summary information is being generated.
The Visibility category properties are being applied to
the reflection information file to remove unwanted items.
All <inheritDoc /> tags are being expanded.
The reflection information is being transformed by
XslTransform.
Help topic filenames are being altered.
The standard help file content (art, scripts, and styles)
is being copied to the help project folder.
The conceptual content files are being copied.
The conceptual content topic configuration files are being
generated.
The additional content files are being copied to the
help project folder.
The sandcastle.config Conceptual.config
BuildAssembler files are being created.
Custom build component configurations are being merged
into the sandcastle.config file.
The conceptual and additional content tables of contents
are being merged.
Conceptual help file topics are being generated by
BuildAssembler.
API reference help file topics are being generated by
BuildAssembler.
The intermediate table of contents is being generated by
XslTransform.
Title and keyword index information is being extracted for
the Help 1.x TOC and index and/or website TOC.
The format-specific table of contents is being generated
by XslTransform.
The table of contents is being updated with additional
and conceptual content items and the default page is being
determined.
The help file index is being generated.
The help project file is being generated.
The help file project is being compiled.
Generate full-text index for ASP.NET website search.
The website files are being copied to the output path.
The temporary help project files are being removed.
The build has completed successfully.
The build was canceled by user request.
The build failed with an unexpected error.
This is used to give a more descriptive message in the property
grid for the
project property.
This is a type editor that displays the
to edit the project summary.
This is overridden to edit the value using the
dialog.
The descriptor context
The provider
The project summary text as an object
The edited project summary text as an object
This is overridden to specify the editor's edit style
The descriptor context
Always returns Modal as long as there is a context
and an instance. Otherwise, it returns None.
This attribute is used to associate folder dialog parameters with a
class property for use in editing it in a property grid.
Constructor
The description for the folder dialog
True to show the New Folder
button or false to hide it.
The root folder used to limit browsing.
The default folder from which to
start browsing.
There are three overloads for the constructor.
Constructor
The description for the folder dialog
The New Folder button is hidden and browsing starts
at the desktop.
Constructor
The description for the folder dialog
The default folder from which to
start browsing.
The New Folder button is hidden and browsing starts
at the desktop.
This is used to get the folder dialog description
This is used to get whether or not to show the New Folder button
This is used to get the root folder used to limit browsing
This is used to get the default folder from which to start browsing
This is a a simple derived list box in which you can refresh a
specified item to show updates to the text displayed in the list box
for the item.
Refresh the specified item in the list box
The index of the item to refresh
This public enumerated type defines the type of links used to reference
other help topics referring to items in the documented assemblies.
No active links.
Local links within the project using anchor tags. This
is the default. This type is compatible with HTML 1.x and HTML
2.x help files.
MS-Help style links for use within an HTML 2.x help
file.
This class is used to manage the set of known plug-ins.
Load the plug-ins found in the .\Plug-Ins folder and its
subfolders.
This is used to determine if a plug-in exists with the specified
key and can be used.
The key for the plug-in
True if the plug-in exits and can be used.
This returns a dictionary containing the loaded plug-ins.
The dictionary keys are the plug-in names.
This task is used to run XslTransform.exe which is used to run various
XSL transformations on the Sandcastle data files.
Validate the parameters
True if the parameters are valid, false if not
This returns the full path to the tool
The full path to the tool
Generate the command line parameters
The command line parameters
This is overridden to return the working folder for the build
The working folder for the build
This read-only property returns the tool name (XslTransform.exe)
This is overridden to force all standard error info to be logged
This is overridden to force all standard output info to be logged
This is used to pass in the path to the Sandcastle tools
This is used to pass in the input filename
This is used to pass in the output filename
This is used to pass in the list of transformations to run
Separate multiple transforms with a semi-colon. Relative
paths are assumed to refer to Sandcastle transformations and will
be fully qualified with the value.
Absolute paths are assumed to be custom transforms and the path is
not modified.
This is used to pass in the working folder where the files are
located.
This is used to pass in any optional XSL transform arguments
The optional XSL transform arguments in the form
"argName=argValue". Separate multiple arguments with a
semi-colon.
This task is used to run BuildAssembler.exe which is used to generate
help topics.
Validate the parameters
True if the parameters are valid, false if not
This returns the full path to the tool
The full path to the tool
Generate the command line parameters
The command line parameters
This is overridden to return the working folder for the build
The working folder for the build
This read-only property returns the tool name (BuildAssembler.exe)
This is overridden to force all standard error info to be logged
This is overridden to force all standard output info to be logged
This is used to pass in the path to the Sandcastle tools
This is used to pass in the configuration filename
This is used to pass in the manifest filename
This is used to pass in the working folder where the files are
located.
This is used to give a more descriptive message in the property
grid for the .
This collection class is used to hold the additional content file
editor definitions.
Constructor
There are two overloads for the constructor
Clone the items in another collection to create this one.
The collection to clone
Add a range of items from another collection
The range of items to add
The entries are not cloned.
Sort the collection by editor description
Search the list of content file editors and launch the appropriate
one for the specified file.
The filename to edit
The fully qualified name of the current
project file.
True if successful, false if not.
can be used to obtain details if it does fail.
If an editor is not defined, an attempt is made to launch
the file using the OS shell with the Edit verb.
This returns the reference to the global content file editor
collection.
If returns false, this can be used to
retrieve the exception describing why it failed.
This collection class is used to hold the table of contents entries for
additional content items.
Default constructor
There are two overloads for the constructor
Constructor
The site map file associated with the
collection.
This is used to sort the collection
All top level items and their children are sorted
Convert the table of contents entry and its children to a string
The entries in HTML 1.x help format
Convert the table of contents entry and its children to a string
in the specified help file format.
The help file format to use
The entries in specified help format
This is thrown if the
format is not HtmlHelp1x, HtmlHelp2x, or
Website.
This is used to convert the collection to a string and append it
to the specified string builder.
The help file format to use
The string builder to which the information is
appended.
This is used to locate the default topic if one exists
The default topic if found or null if not found
The first entry found is returned. Nodes are searched
recursively.
This will remove excluded nodes from a TOC created off of the
additional content items in a project. In addition, it merges
the information from folder entries into the folder nodes.
The parent node
This is used to load the table of contents entries from the site
map file associated with the collection.
This is thrown if a
site map has not been associated with the collection.
This is used to save the table of contents entries to the site map
file associated with the collection.
This is thrown if a
site map has not been associated with the collection.
Find a TOC entry with the same source filename
The source filename to match
The match TOC entry or null if not found
This is used by contained items to notify the parent that a child
list changed and thus the collection should be marked as dirty.
The item that changed
Add all topics from the specified folder recursively to the
collection and to the given project file.
The folder from which to get the files
The base path to remove from files copied
from another folder into the project folder. On the first call,
this should match the value.
The project to which the files are added
Only actual HTML content topic files are added. They must
have a ".htm?" extension. Folders will be added as sub-topics
recursively. If a file with the same name as the folder exists,
it will be associated with the container node. If no such file
exists, an empty container node is created.
This is overridden to set the inserted item's parent to this
collection.
This is overridden to set the inserted item's parent to this
collection.
This is overridden to clear the parent on the removed item
The index of the item to remove
This is used to merge this TOC with another one
The table of contents collection
The base path provider
This read-only property returns the project file item associated
with the collection.
This is used to get the default topic
It returns the default topic or null if one is not set
This is used to get the topic at which the table of contents is
split by the API content.
This will only be valid if it refers to a root level
topic. It will return null if a split location has not been
set at the root level.
This is used to get the site map file associated with the
collection.
The type of file dialog to display
Display a File Open dialog box
Display a File Save dialog box
This attribute is used to associate file dialog parameters with a
class property for use in editing it in a property grid.
Constructor
The title for the file dialog
The filter to use for the file dialog
The type of file dialog to display
There are two overloads for the constructor.
Constructor
The title for the file dialog
The filter defaults to "All Files (*.*)|*.*" and
the dialog type defaults to FileOpen
This is used to get the file dialog title
This is used to get the file dialog filter
This is used to get the file dialog type
This class is a wrapper for build items in the project.
Build action
Include item
File reference hint path
Linked item path
Project GUID item
Project name item
Project COM object's GUID
Project COM object's major version
Project COM object's minor version
Project COM object's wrapper tool
Configuration setting
Platform setting
Output directory setting
Image ID
Alternate text
Copy to media folder
Exclude from table of contents
Sort order
Solution path (directory and filename)
Solution directory
Solution filename (no path)
Solution name (no path or extension)
Solution extension
This constructor is used to wrap an existing project item.
The project that owns the item
The existing item
There are two overloads for the constructor
This constructor is used to create a new build item and add it to
the project.
The project that will own the item
The type of build item to create
The path to the item. This can be relative
or absolute and may contain variable references.
This is used to see if the project can be edited. If not, abort
the change by throwing an exception.
See if the named metadata item exists
The metadata name for which to check
True if present, false if not
Get a metadata value from a project element
The name of the metadata element to get
The value of the metadata element
Set a metadata value in the project item
The name of the metadata element
The value to store in the element
Remove the item from the project
Overload for equal operator
The first element object
The second element object
True if equal, false if not.
Overload for not equal operator
The first element object
The second element object
True if not equal, false if they are equal.
This is used to set or get the item name (a.k.a BuildAction)
This is used to set or get the filename (Include attribute)
This read-only property is used to get the containing project
This represents an indexed XML comments file
Constructor
The name of the XML comments file to index
Get the XML comments for the given key
The key for the comments
An for the comments or null
if not found.
Return all keys in this file
A string array containing the keys
This read-only property returns the comments filename
This read-only property returns the number of items in the index
This is a type editor that displays the
to edit the build process
plug-in configurations.
This is overridden to edit the value using the
dialog.
The descriptor context
The provider
The plug-in configuration dictionary as an
object
The edited plug-in configuration dictionary as an
object
This is overridden to specify the editor's edit style
The descriptor context
Always returns Modal as long as there is a context
and an instance. Otherwise, it returns None.
This is used to give a more descriptive message in the property
grid for the .
This class is used to convert version 1.7.0.0 and prior SHFB project
files to the new MSBuild format project files.
Constructor
The old project filename
The folder in which to place the new project
and its related files. This cannot be the same folder as the
old project file.
This is used to perform the actual conversion
The new project filename on success. An exception is
thrown if the conversion fails.
Convert the additional content
Convert the assemblies
Convert the component configurations
Convert the plug-in configurations
Convert the namespace summaries
Convert the API filter
Convert the help attributes
Convert the dependencies
This is used to copy the files referenced in a site map file into
the project and update the URLs in it to point to the new copies.
The site map file to update.
Get the XML text reader used for the conversion
This represents a conceptual content topic.
This class is serializable so that it can be copied to the
clipboard.
This is used to see if the property
should be serialized.
True to serialize it, false if it matches the default
and should not be serialized.
We do not allow resetting this property as it is a
collection and we don't want to lose all items accidentally.
This is used to see if the property should
be serialized.
True to serialize it, false if it matches the default
and should not be serialized.
We do not allow resetting this property as it is a
collection and we don't want to lose all items accidentally.
Constructor
Mark the project as dirty if the contained lists change
The sender of the event
The event arguments
This may not be the best way to handle this.
This is used to load the topic information from the project
file.
The XML text reader from which the information
is loaded.
This is used to save the topic information to the project file
The XML text writer to which the information
is written.
This is used to create the companion file used by the build
component that resolves conceptual links.
The folder in which to place the file
The file will be named using the ID and a ".xml"
extension.
Write out the topic metadata
The writer to which the metadata is written
The build process
This will recursively write out metadata for sub-topics
as well.
Write out the BuildAssembler manifest entry
The XML writer to which the entry is written
This will recursively write out entries for sub-topics
as well.
Convert the topic to its <link> element form
Optional inner text
The topic in its <link> element form
Convert the topic to its <a> element form
Optional inner text
The topic in its <a> element form
This is used to track the topic's parent collection
This is used by the designer to move items around within
the collection.
This is used to get or set the topic file information related to
the topic.
If there is no topic file, this topic serves as a container
node for its sub-topics and no content will be displayed for it
when selected in the help file's table of contents.
This read-only property returns true if there is no associated
topic file by choice rather than it not being found.
This is used to get the content ID from the content layout file.
This should match an ID from a project file. If not,
it will serve as an container node with no associated topic.
This is used to get the unique ID of the topic
This is used to get the topic's revision number
This is used to get the filename of the related project file (if any)
This read-only property is used to get the document type
This is used to get the required title that should be used for the
topic.
If not set, the topic filename without a path or extension
is used.
This is used to get or set the topic's optional table of contents
title.
This can be used to provide a different topic title in the
table of contents. If not set, it will be set to the
value.
This is used to get or set the topic's optional link text.
This can be used to provide different text that is used in
links that refer to the topic. If not set, it will be set to the
value.
This is used to get or set whether or not the topic is visible
in the table of contents.
If set to false, the item will still be added to the
help file but to be accessible, a link to it must appear in
one of the other topics.
This is used to get the additional attributes that will be added
to MAML topic.
This is used to get the index keywords that will be added to the
MAML topic.
This read-only property is used to get a title for display
(i.e. in the designer).
If there is a specified, it is used.
If not, the value is used. If it does not
contain a value, the filename without the path and extension is
used. If the file has not been specified, does not exist, the
document type is not recognized, or it is invalid (i.e. badly
formed), it returns an appropriate message describing the
problem.
This is used to get the sub-topics beneath this topic.
This is used to when merging TOC files to determine the default
topic.
This represents a conceptual content image that can be used to insert
a reference to an image in a topic.
This class is serializable so that it can be copied to the
clipboard.
Constructor
The build item to associate with the
image reference.
Convert the image reference to a <mediaLink> element.
The image in its <mediaLink> element form
Convert the image reference to a <mediaLinkInline>
element.
The image in its <mediaLinkInline> element form
Convert the image reference to an <externalLink> element.
The image in its <externalLink> element form
Convert the image reference to an <img> element.
The image in its <img> element form
This is used to get the image filename
This is used to get the full path to the image file
This is used to get the unique ID of the image
This is used to get or set whether or not to copy the image to the
.\Output\media folder if it is not referenced in a media
link.
The default is false and the image will not be copied
unless it is referenced in a media link. If set to true, the
image will be copied even if it is not referenced. This is useful
for forcing the copy of images referenced in external links
which are not handled by the art reference build component.
This is used to get or set the optional alternate text for the image
This read-only property is used to get a title for display
(i.e. in the designer).
If there is specified, it is
returned along with the filename and the image ID in parentheses.
If not, the filename is returned along with the image ID in
parentheses.
This is used to get the file item associated with the image
reference.
This collection class is used to hold the additional content items
for a project.
Internal constructor
The enabled state
The configuration
The owning project
This is used to get or set the build component's enabled state
If set to false, the component will not be used in the
build.
This is used to get or set the component's configuration
information.
This should be an XML fragment. The root node should be
named configuration.
This represents an assembly, an XML comments file, a Visual Studio
Solution (C#, VB.NET, or J#), or a Visual Studio solution containing
one or more C#, VB.NET or J# projects to use for building a help file.
Wildcards are supported in the
property.
This is used to handle changes in the
properties such that the source path gets stored in the project
file.
The sender of the event
The event arguments
Internal constructor
The filename of the documentation source
The configuration to use for projects
The platform to use for projects
True to include subfolders, false to
only search the top-level folder.
The owning project
See if specified item equals this one
The object to compare to this one
True if equal, false if not
For documentation sources, equality is based solely on
the value. The configuration and
platform settings are not considered.
Get a hash code for this item
Returns the hash code for the assembly path and
XML comments path.
Return a string representation of the item
Returns the assembly path and XML comments path separated
by a comma.
This returns a collection of assemblies based on the specified
wildcard.
The wildcard to use to find assemblies.
If true and the wildcard parameter
includes wildcard characters, subfolders will be searched as well.
If not, only the top-level folder is searched.
A list of assemblies matching the wildcard
This returns a collection of XML comments files based on the
specified wildcard.
The wildcard to use to find comments
files.
If true and the wildcard parameter
includes wildcard characters, subfolders will be searched as well.
If not, only the top-level folder is searched.
A list of XML comments files matching the wildcard
This returns a collection of MSBuild project filenames based on the
specified wildcard.
The wildcard to use to find solutions and
projects.
If true and the wildcard parameter
includes wildcard characters, subfolders will be searched as well.
If not, only the top-level folder is searched.
A list of projects matching the wildcard. Any solution
files (.sln) found are returned last, each followed by the project
filenames extracted from it.
Extract all project filenames from the given Visual Studio solution
file.
The Visual Studio solution from which to
extract the projects.
The collection used to return the
extracted projects.
This is used to get or set the project configuration to use when
the source path refers to a Visual Studio solution or project.
If not set, the configuration value from the owning help
file project will be used. This will be ignored for assembly
and XML comments file entries.
This is used to get or set the project platform to use when the
source path refers to a Visual Studio solution or project.
If not set, the platform value from the owning help file
project will be used. This will be ignored for assembly and XML
comments file entries.
This is used to set or get the documentation source file path
Wildcards are supported. If used, all files matching
the wildcard will be included as long as their extension is one of
the following: .exe, .dll, .*proj, .sln.
This is used to get or set whether subfolders are included when
searching for files if the value
contains wildcards.
If set to true and the source file value contains wildcards,
subfolders will be included. If set to false, the default, or the
source file value does not contain wildcards, only the top-level
folder is included in the search.
This returns a description of the entry suitable for display in a
bound list control.
This is a simple derived label control that draws the label text
followed by a dividing line to the right of the text.
Constructor
This is overridden to draw the text and the dividing line
The event arguments
This collection class holds execution point information for a plug-in
process.
This is used to determine if the collection contains an entry for
the specified build step and behavior.
The build step
The behavior
True if the collection contains an entry for the specified
build step and behavior or false if it does not.
This is used to obtain the execution priority for a plug-in
in the given build step and behavior.
The build step
The behavior
The execution priority is used to determine the order in
which the plug-ins will be executed. Those with a higher priority
value will be executed before those with a lower value. Those with
an identical priority may be executed in any order within their
group.
This represents an HTML Help 2.x index keyword that can be added to the
XML data island in each help topic generated by BuildAssembler.
Constructor
The index name defaults to "K"
Constructor
The index name
The index term
Compares this instance to another instance and returns an
indication of their relative values.
A MSHelpKeyword object to compare
Returns -1 if this instance is less than the
value, 0 if they are equal, or 1 if this instance is
greater than the value or the value is null.
Entries are sorted by name and then value
Get a hash code for this item
Returns the hash code for the index name and term.
Return a string representation of the item
Returns the item in its XML format
This is used to get or set the index name
This is used to get or set the index term
This class is used to represent a folder path. Support is included for
treating the path as fixed or relative and for expanding environment
variables in the path name.
This can be used to find out if a path is terminated with a
trailing backslash.
The path to check
Returns true if it is, false if it is not.
This can be used to ensure that a path is terminated with a
trailing backslash.
The path to check
The path with a trailing backslash added if necessary.
This is used to prevent the Path property from showing as modified
in the designer.
Always returns false
The property is mainly for display
purposes in the designer but can be used for making changes to
the expanded path if needed. The
property is used as the display value in the designer.
Default constructor. The folder path is undefined.
The base path provider
There are three overloads for the constructor.
Constructor. Assign the specified path.
A relative or absolute path.
The base path provider
Unless is set to true,
the path is always treated as a relative path.
Constructor. Assign the specified path and fixed setting.
A relative or absolute path.
True to treat the path as fixed, false
to treat it as a relative path.
The base path provider
This is used to get or set the path.
When set, if the path is not rooted (a relative path),
is set to false. If rooted (an
absolute path), it is not changed. This property always returns a
fully qualified path but without any environment variable
expansions and terminated with a trailing backslash if needed.
If set to a null or empty string, the folder path is cleared
and is considered to be undefined.
FolderPath path = new FolderPath();
// Set it to a relative path
path.Path = @"..\..\ProjectFolder";
// Set it to an absolute path
path.Path = @"C:\My Documents\ProjectDocs\";
// Set it to a path based on an environment variable
path.Path = @"%HOMEDRIVE%%HOMEPATH%\Favorites\";
Dim path As New FilePath()
' Set it to a relative path
path.Path = "..\..\ProjectFolder"
' Set it to an absolute path
path.Path = "C:\My Documents\ProjectDocs\"
' Set it to a path based on an environment variable
path.Path = "%HOMEDRIVE%%HOMEPATH%\Favorites\"
This read-only property can be used to determine whether or not
the folder path exists.
This is a type editor that displays the
to edit the API filter items for a project.
This is overridden to edit the value using the
dialog.
The descriptor context
The provider
The API filter collection as an object
The edited API filter collection as an object
This is overridden to specify the editor's edit style
The descriptor context
Always returns Modal as long as there is a context
and an instance. Otherwise, it returns None.
This collection class is used to hold the additional content items
for a project.
This raises the event.
The event arguments
The dictionary doesn't raise events automatically so
this is raised manually as needed.
Default constructor
The project that owns the collection
This is used to load existing component configuration items from
the project file.
The component items
The information is stored as an XML fragment
This is used to write the component configuration info to an XML
fragment ready for storing in the project file.
The XML fragment containing the component configuration
info.
Add a new item to the dictionary
The component ID
True for enabled, false disabled
The component configuration
The added to
the project. If the ID already exists in the collection, the
existing item is returned.
The constructor
is internal so that we control creation of the items and can
associate them with the project.
This is used to get or set the dirty state of the collection
This event is raised when the dictionary is modified