Version 2017.12.30.0

Release notes for version 2017.12.30.0.

Breaking Changes

  • Various utility classes, designer classes, and enumerations were moved between the Sandcastle.Core, SandcastleBuilder.Utils, and standalone GUI assemblies to move code specific to the standalone GUI out of the common assemblies and to better share the code for the new WPF property pages and configuration forms. Support for several new project properties was also added.

    If you have created custom build components, syntax generators, plug-ins, or presentation styles, you will need to rebuild them against the latest release.

  • Added support for the websiteAdContent shared content item in the VS2010 and VS2013 presentation styles. If you have custom presentation styles and want to support the WebsiteAdContent help file builder project property, you will need to add the content item to your custom presentation style resource item and transformation files.

  • Added the {@SearchResultsDisplayVersion} substitution tag to the MS Help Viewer Additional Header Content definitions in the VS2010 and VS2013 presentation styles. If you have custom presentation styles and want to support the property, you will need to add it to your BuildAssembler.config configuration files.

Sandcastle Tools

  • Fixed a couple of null reference exceptions in MRefBuilder caused by obfuscated code.

  • Fixed up issues with unsigned long enumerated types and duplicate flag values in MRefBuilder.

  • Fixed MRefBuilder so that if an overridden member is removed, the matching overridden/virtual members in the base types are also removed to prevent them showing up in place of the removed override.

  • Fixed MRefBuilder so that it automatically redirects the System assembly for .NETStandard 2.0 assemblies.

  • Added code to auto-redirect to a like-named assembly in the cache if one is found. This helps correct missing assembly issues in .NETCore/.NETStandard projects which can vary by version number.

  • Added support to MRefBuilder for excluding types and members based on the presence of EditorBrowsableAttribute(Never) and BrowsableAttribute(False) settings.

  • Fixed the BuildAssembler Save Component so that if the writer task fails it stops the build and reports the problem rather than causing a hang.

  • Modified the AddFilenames.xsl transformation and added a more specific exception message in XslTransform to clarify the solution to issues caused by the FIPS policy being enabled which prevents the MD5 hash from being used with the GUID file naming method.

  • Updated the GenerateInheritedDocs tool so that it doesn't generate false GID0002 errors for inherited attached events and properties that never actually appear in the documentation.

Sandcastle Help File Builder

  • Fixed a bug in the Managed Package Framework that could cause renamed files to get saved under the old name if the filename was changed with the file open in an editor in Visual Studio.

  • Fixed the Help Library Manager Launcher tool so that it finds the correct registry keys when SQL Server Management Studio is installed which can result in the 64-bit parent key existing without the expected subkeys.

  • Fixed the scan for build components so that it ignores bad image format exceptions nested within argument exceptions.

  • Fixed the package reference resolver so that it can handle multiple NuGet package folder paths.

  • Added code to the XML comments file handling to automatically fix invalid comments files from framework NuGet packages that have an invalid span element as the root element.

  • Added the new DocumentEditorBrowsableNever and DocumentNonBrowsable project properties on the Visibility category property page. For backward compatibility, these options will be enabled when the project format is updated. Turn them off if you no longer want members decorated with the related attributes to appear in the help file.

  • Added the new AppendMarkdownFileExtensionsToUrls property on the Help 1/Website category property page to allow adding extensions to the URLs in markdown topics so that the output will work in non-GitHub wikis and for topics in source control.

  • Added the new WebsiteAdContent property on the Help1/Website category property page which allows you to define ad content provider script and HTML in website output.

  • Added the SearchResultsDisplayVersion property to the MS Help Viewer category property page which allows you to set the content of the Microsoft.Help.DisplayVersion metadata item in MS Help Viewer output. This helps differentiate search results with the same title in the search results by adding the specified module name and/or display version to each entry in the help file.

  • Moved the Presentation Style and Syntax Filters properties from the Help File properties page to the Build properties page. This allows the help file formats to be filtered based on what is supported by the selected presentation style.

  • Replaced the Windows Forms based project property pages and Visual Studio options page with WPF versions for better high DPI scaling support on 4K displays. Several build component configuration forms have also been converted to WPF for the same reason. Work is on going to replace all of the remaining Windows Forms based build component and plug-in configuration forms with WPF versions.

Presentation Styles

  • Fixed the Markdown presentation style so that it handles see[@langword] correctly.

  • Added support for adding the ".md" extensions to topic URLs in the Markdown presentation style.

  • Added code to the VS2010 and VS2013 presentation style script to add the extra space in Help 1 files after language specific text.

  • Merged a change from Scott Hunter to construct website TOC URLs in the VS2013 presentation style relative to the root instead of assuming the target is in the .\html folder. This allows additional content to be added to the project using a site map file and for links to such topics to be generated correctly in the TOC fragments.

  • Merged changes from OpportunityLiu to fix typos in the Chinese translations.

  • Removed generation of the indexEntry_aboutType ("about TypeName class") index entries as they were just duplicates of the "TypeName class" index entries.

  • Removed the unused index content items from the Markdown and Open XML presentation styles.

See Also

Other Resources