Version 1.9.8.0

Version 1.9.8.0 was released on October 14th, 2013.

Breaking Changes

  • Removed the ModifyHelpTopicFilenames build step as API topic file naming is now handled entirely by the new AddFilenames.xsl transformation in Sandcastle. If you have plug-ins that rely on the removed build step, they will need to be updated.

  • Renamed the CopyStandardContent build step to CopyStandardHelpContent and moved it to run after the ExtractingHtmlInfo build step. This allows for standard content (presentation style images, scripts, style sheets, etc.) to be defined in the presentation style definition files and allows templates within those content files to have substitution tags replaced properly. This should only affect plug-ins that used the CopyStandardContent build step as an execution point. Update them to use the new build step and make other adjustments if the plug-ins or build components expect the content to be there earlier in the build.

  • The presentation style definition file has been updated to include an entry to copy the website content files from the help file builder. If you have created custom presentation style files and generate website output, update your definition files accordingly. This allows for presentation styles to contain modified versions of the default help file builder website files or they can completely replace them with something else.

Help File Builder

  • Fixed the topic previewer to prevent parser failures on invalid/unrecognized URL values.

  • Fixed up the code used to find tools in the Program Files folder so that it works regardless of OS type and special folder name.

  • Fixed a bug in the VSPackage that caused a crash after opening and closing a file that was not a member of any project in the active solution.

  • Fixed the Assembly Binding Redirection plug-in so that it runs in partial builds and fully qualifies redirection configuration filenames when written to MRefBuilder.config.

  • Fixed a bug in the XML comments file class reported by AMainka so that it detects when nodes are removed.

  • Fixed the determination of the default topic so that it searches for a file in nested topics when the parent topic is an empty container node.

  • Fixed documentation source project file handling so that it favors the TargetName property over the AssemblyName property so that it works with C++ projects that have a different assembly name from the project filename.

  • Fixed documentation source project file handling to account for the GenerateProjectSpecificOutputFolder property being set to true which modifies how the OutDir property is set for the build.

  • Fixed the Additional Reference Links and Version Builder plug-ins so that they correctly clone the subprojects to avoid modifying the underlying MSBuild project which may be loaded in Visual Studio. This prevents the changes they make to the subprojects from propagating to the Visual Studio copy.

  • Added code to check for additional issues with invalid characters in the MS Help Viewer help title and vendor name.

  • Relaxed the reserved folder restriction to allow project output and working folders to reside in subfolders beneath the Desktop folder.

  • Reworked the file system watcher in the standalone GUI to ignore changed files in the output path and working folder of the current project. This greatly reduces the number of files to check if a build is in progress when the GUI regains the focus.

  • Merged a patch from Seng Lin to convert GenerateRefInfo.proj hint paths to relative paths if the fully qualified path length exceeds the system maximums.

  • Added support for spell checking files in the text editor window in the standalone GUI. Use the new tool bar button or Ctrl+Shift+K to invoke the spell checker tool window. A separate package is available to spell check projects in Visual Studio (see the guided installer for details).

  • Added an Open with Text Editor context menu option in the Project Explorer window to allow opening files such as content layout files with the text editor so that they can be spell checked.

  • Renamed Index.html to index.html so that it can be found by case-sensitive Unix web servers.

  • Added code to TOC.js to prevent it showing pages outside of the current site's folder when using the topic query string option.

  • Merged changes from Dave Dansey into TOC.js to sync to TOC when the topic URL parameter is used.

  • Merged code contributed by Procomp Solutions Oy that improves performance for large tables of content in FillNode.aspx by using XML serialization and caching.

  • Added code to the standalone GUI to allow saving project state when the user file is marked as hidden.

  • Updated the VSPackage installer to support installation in Visual Studio 2013.

  • Added support for the .NETFramework 4.5.1, .NETCore 4.5.1, and .NETPortable 4.6 frameworks.

  • Adjusted how child processes are killed when a build is aborted to try and prevent killing unrelated processes from a separate, concurrent build.

  • Enabled window selection commands for use during a build in the standalone GUI. Also enabled switching between project property categories in the Properties window during a build to allow seeing what values are in effect.

Production Transformations

  • Deleted AddGuidFilenames.xsl and AddFriendlyFilenames.xsl transformations as their functionality is now handled by a new transformation file called AddFilenames.xsl.

  • Moved the MemberName and HashedMemberName naming method code from the Sandcastle Help File Builder into the new AddFilenames.xsl transformation file along with the GUID naming method code. Use the transformation argument /arg:namingMethod=MemberName or /arg:namingMethod=HashedMemberName to use the new naming methods. If not specified, the default naming method is GUID.

      Note

    The MemberName naming method differs from the old Sandcastle "friendly names" naming method. The new method brings it in line with how the Sandcastle Help File Builder has always worked. It will only affect people that used the Sandcastle tools directly and only then if they used the friendly naming method and relied on direct links to the previously generated names.

MRefBuilder

Added support for the .NETFramework 4.5.1, .NETCore 4.5.1, and .NETPortable 4.6 frameworks to the Frameworks.xml file.

BuildAssembler and Build Components

  • Moved the configSections section of the BuildAssembler.exe.config to the top of the file to prevent problems when one of the proxy sections is uncommented and used.

  • Modified ResolveReferenceLinksComponent2 so that it issues a warning if a target attribute value is missing rather than throwing an exception and halting the build. This makes it work like prior releases but it will display a better message to describe the cause of the warning.

  • Fixed the MSDN resolver so that if it fails it will not write null entries to the cache.

  • Applied a patch from gfraiteur to remove the GUID topic ID requirement in ResolveConceptualLinksComponent.

      Note

    GUIDs are still preferred for topic IDs as they are guaranteed to be unique which is important for Help 2 and MS Help Viewer content which are merged into a collection. Duplicate IDs across multiple sets of content would cause linking issues in the collections.

Version Builder

Added changes from Stazzz to the Version Builder tool to merge information about additional extension methods even when the type and method are defined in different assemblies.

Presentation Styles

  • Fixed the VS2010 style so that it does not output parent class summary comments on nested class member list pages.

  • Added German resource item translations provided by Michael Buchner to the VS2010 style.

  • Adjusted the font size of the devlangsMenu, memberOptionsMenu, and memberFrameworksMenu CSS styles to 100% to make them more readable in web output.

Extras

Moved the para snippet from the inline elements category to the block elements category.

See Also

Other Resources