Version 1.9.7.0 |
Version 1.9.7.0 was released on April 7th, 2013.
With changes to the core Sandcastle build components, the following cached build components have been rendered obsolete and must be removed from your projects if you are using them:
Cached Framework Comments Index Data
Cached Reflection Index Data
Cached MSDN URL References
Disk-based caching of MSDN content IDs has been built into the core Sandcastle build component and is enabled by default in all help file builder projects. Changes made to enable namespace filtering and loading data in parallel made loading the index data from a serialized cache file slightly less efficient than just indexing the required data files in each build. As such, reflection and comments index data is no longer cached to disk for re-use. Common data is also shared across multiple instances of the build components when possible to significantly reduce the amount of memory required by BuildAssembler when building multiple help file formats.
To further help with memory constraints in very large projects, new caching build components have been added to store reference link target, MSDN content ID, reflection index, and XML comments index data in either an ESENT or a SQL Server database. These help save memory at the expense of some build time. In extreme cases, project data can also be indexed and cached in a database thus freeing up more memory to the topic build process. See the Data Caching Build Components topic for more information.
The IntelliSense Component and its configuration dialog, the MS Help Attributes Component, and the Show Missing Documentation Component and its resource items have been moved into the Sandcastle Build Components assembly. If you are using the IntelliSense Component in your project, you must delete and re-add it in order to get the latest configuration containing the proper assembly reference. The other two components are handled by the help file builder and no action is required.
Added the SupportsConfiguration property to the IPlugIn interface. This is used to indicate whether or not the plug-in supports configuration when added to the project. If you have developed your own custom plug-ins for the help file builder, you will need to add this property to your plug-ins.
Fixed a bug in the removal of inherited members so that it only removes members of classes matching the parent class and not those of other classes starting with the same name.
Fixed a bug that caused the plug-in and components property pages to not pass a project reference to the component configuration dialogs.
Fixed a bug in the Output window that could cause it to crash under certain circumstances when the standalone GUI was closed.
Fixed a bug in the Topic Previewer window that prevented multiple tokens from being rendered properly when they appeared in the Related Topics section.
Fixed the BuildAssembler configuration template files so that they use the HtmlEncVendorName tag to properly encode vendor names containing restricted characters.
Fixed the standalone GUI so that the property pages contain proper default values for new projects and for properties not present in existing projects when they are loaded. This matches the behavior of the property pages in Visual Studio.
Fixed the Solution Explorer context menu items in the VSPackage so that they are hidden when a SHFB project is unloaded in Visual Studio.
Fixed an odd bug in the MPF project related to adding new items to deeply nested collapsed nodes.
Fixed the presentation style configuration files so that family data is copied in as part of the container data so that the ASP.NET and XAML syntax writers include or exclude syntax sections correctly.
Merged the changes from the MPF 2012 project's code base into the help file builder's copy of the MPF 2010 project. These changes let the project system handle the multi-threaded parts of VS 2012 without causing crashes (i.e. opening the VS 2012 Test Explorer window with a SHFB project loaded). The code is compatible with VS 2010 so one version of the package will still work in both versions of Visual Studio.
Added a check to abort the build if HtmlHelpName contains a period and MS Help Viewer output is being generated. Microsoft Help Viewer does not support periods in the base filename.
Added code to the build engine to adjust the search location for the assembly and XML comments file if the GenerateProjectSpecificOutputFolder MSBuild variable is set to true.
Modified the build engine to get a list of all possible namespaces referenced by the project. This list is passed to the reference link and copy from index build components to reduce the amount of information they have to load. This reduces memory usage and provides a small reduction in the build time.
Reworked how the Help 1 and website keyword index files were generated by the HTML extract tool to provide qualified class names in the titles of common entries (i.e. operators).
Updated the HTML extract tool to process the files in parallel to improve performance.
Applied changes from the related comments indexing classes in BuildAssembler to the comments indexing classes in SandcastleUtils to improve their performance when used by the Entity References window and the GenerateInheritedDocs tool.
Updated the Additional Reference Links Plug-In to set the Configuration and Platform properties on the reference projects. It was also updated to add the additional reflection information files to the GenerateInheritedDocs tool's configuration file.
Updated the GenerateInheritedDocs tool to support loading multiple reflection information files. This allows additional reflection information to be included for undocumented reference assemblies and enables inheriting documentation from members within them.
Added code colorization support to the code blocks rendered in the topic previewer. This helps identify problems with the code such as incorrect comment markers or incorrect language IDs. A Copy link was also added to allow copying the code blocks in the topic previewer to the clipboard. Line numbering is supported but collapsible sections are not.
If they support configuration, build components and plug-ins will now automatically show their configuration dialog when first added to a project. This prevents builds from failing due to missing configuration data in newly added components.
Added the CopyContentFrom member to the ConceptualContentSettings class to allow plug-ins to add content from a temporary project for inclusion in the current build. This prevents the temporary items from getting added to the project being built which is not wanted.