Version 1.9.5.0
Help File Builder
Updated for use with Sandcastle v2.7.1.0. This was the first official release after merging the Sandcastle tools with the Sandcastle Help File Builder project.
Fixed a bug in the standalone GUI's project explorer window that caused an endless loop when pasting the same file into a folder more than once.
Fixed the GenerateInheritedDocs tool to prevent crashes related to ill-formed nested
inheritdocinstances and invalid member IDs produced by the C++ compiler.Made changes to TOC.js for website output so that it works correctly under Internet Explorer 10.
Updated the SandcastleHtmlExtract tool to remove the Help 2 XML data island and the related style sheet link from all topics which were causing security issues in Internet Explorer 10 and when using HTTPS.
Fixed the topic previewer so that it correctly utilizes the title, TOC title, and link text values from the content layout files.
Modified the behavior of the VSPackage so that it doesn't prevent opening site map files from other project types.
Added support for .NET 4.5 and .NET for Windows Store Apps. This change required modifying the
FrameworkVersionproperty values. Projects will update themselves automatically when opened in the latest release.The default configuration for MRefBuilder has been updated to ignore the Crystal Reports licensing assembly (
BusinessObjects.Licensing.KeycodeDecoder) if it fails to get resolved. This assembly does not appear to be available and ignoring it prevents projects that include Crystal Reports assemblies from failing and being unbuildable.The
DisableCodeBlockComponentproperty now only disables code colorization and the custom title. All other features it provides such as importing code from external files and leading whitespace normalization are now still available.The SHFB Project Launcher tool has been updated to start the project with the latest version of Visual Studio that has the SHFB VSPackage installed.
Thanks to Thomas Levesque for the additional French translations in the SHFB shared content files.
Sandcastle Tools General Changes
Added
/arg:project=Projectto the Generic.targets file in theReflectiontarget to include a root namespace container in the manifest. This works around an issue with the web output from the example GUI failing if there is more than one namespace in the documented assemblies.Note
If you want to build website output, using the Sandcastle Help File Builder is recommended as it has better support for website output than the example GUI.
Merged changes from Dany R. into the HTML to MAML Converter to support image alignment, topic ID and revision number metadata, and optional movement of leading topic text into the introduction element.
Thanks to Alex Sherman and Sergey Zhurikhin for the Russian translations of the Sandcastle resource item files that have been added to the language pack.
MRefBuilder Tool
Added code to
Duplicator.VisitTypeReference()so that it doesn't get stuck in an endless loop when a type contains a nested type that itself implements a nested type from within the containing type (still with me?).Added a check condition in
RecordExtensionMethods()to prevent a crash in an odd case where a potential extension method has no parameters.Added support for defining assemblies to ignore if unresolved. This is useful for ignoring assemblies that cannot be resolved for which you do not have a copy such as the Crystal Reports
BusinessObjects.Licensing.KeycodeDecoderassembly. See the MRefBuilder.config file for an example definition (theignoreIfUnResolvedchild element of theresolverelement).Added a new Frameworks.xml file for MRefBuilder to use in loading framework assembly information. This new style of framework definition is enabled by using the
frameworkandversionattributes on theplatformelement in the MRefBuilder.config file. This ensures that the reflection information is accurate for the selected framework type and version.The
frameworkandversionattribute values correspond to one of the framework sets defined in the Frameworks.xml file. Using this method allows for automatic referencing of core framework assemblies as well as automatic binding redirection from older versions to the defined version for all assemblies in the framework's assembly set (i.e. automatically redirecting the RIA SDK dependencies from the Silverlight 4 versions to the Silverlight 5 versions when producing information for a Silverlight 5 project that uses the RIA SDK). In other words, you no longer need to specify the dependencies or define binding redirections for the standard framework assemblies.
XslTransform Tool
Added an UnauthorizedAccessException check to ignore temporary files that
may be locked when attempting to delete them (i.e. virus scanners have them open).
Build Components
Made a couple of fixes to
BrandingComponentthat allows the content to show up in Help Viewer 2.0 that comes with Visual Studio 2012.In the
MSHCComponent:Removed the
ContentTypemetadata as it is output by the XSL transformations.Changed
SelfBrandedtoMicrosoft.Help.SelfBrandedfor Help Viewer 2.0 support. Help Viewer 1.0 does not care which name you use for self-branded content but Help Viewer 2.0 requires the qualified name or it attempts to brand the content which causes some odd display issues.Removed the VS2005 header table fix code as it was not needed anymore. It is already handled by the script used in the presentation style (see below).
Added an extra slash to the
ms-xhelplinks generated byResolveConceptualLinksComponentandResolveReferenceLinksComponent2so that they work properly with Help Viewer 2.0. Without it, Help Viewer 2.0 renders invalid links for some reason.
Presentation Styles
Replaced
conceptualLinkelements with anchor links to the corresponding MSDN topics in the VS2010 style's resource item files.Removed the
styleattribute from VS2010\Branding\ps-codesnippet.xslt as it was causing issues with FireFox and Chrome when viewing website output. The attribute appears to be unnecessary and its removal does not appear to affect the results.Added a case for using the currently defined target attribute value on an external link in VS2010\Branding\ps-instrumentedLink.xslt so that it honors the user-defined link target rather than always forcing it to
_blank.Fixed a bug in Presentation\VS2010\Branding\ps-instrumentedLink.xslt that caused local links to be rendered with an incorrect URL in Help Viewer 2.0.
Removed the
backgroundattribute from thensrBottomtable element in the VS2005 style as it was breaking the language filter links at the top of the page in Help Viewer 2.0. The script sets the background so it was not needed anyway.Fixed various other issues in the VS2005 and VS2010 presentation styles to get them to work properly with Help Viewer 2.0.
Fixed the VS2005 and VS2010 presentation styles so that F1 keywords work properly when looking up API members via F1 in Visual Studio with MS Help Viewer.
Merged the collapsible section changes for MAML content from Microsoft into the Prototype style (Sandcastle work item #2269).
The dev10.mshc file from Visual Studio 2010 is no longer required. Due to differences in the way Help Viewer 2.0 works and the fact that the file is not part of Visual Studio 2012, a temporary file of the same name has been included with a set of transformations necessary to get the content built with Sandcastle. A future release will probably get rid of it altogether in favor of integrating its various parts directly into the presentation style.