Skip to content

Commit

Permalink
Minor updates and fixes
Browse files Browse the repository at this point in the history
Sandcastle Tools
- Fixed the URL resolver so that the web client connection uses TLS 1.2 which is now required by the server hosting the service.  Fixes #762.

Sandcastle Help File Builder
- Fixed the build engine so that it sets the TargetFramework property in the documentation source project when multi-targeting is being used.  This allows other properties that use it to be resolved correctly.  Fixes #759.
- Fixed documentation assembly determination by checking the TargetExt property and using it as the target assembly extension when the output type is Exe.  This solves a problem with web SDK projects that output a native code host runtime assembly alongside the actual DLL.  Fixes #752.
  • Loading branch information
EWSoftware committed Nov 17, 2019
1 parent af98869 commit e0de8b2
Show file tree
Hide file tree
Showing 22 changed files with 193 additions and 254 deletions.
8 changes: 4 additions & 4 deletions Deployment/InstallerConfiguration.xml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<!-- This indicates the version of Sandcastle with which this installer is associated.-->
<sandcastle version="v2019.9.15.0" />
<sandcastle version="v2019.11.17.0" />

<!-- Define the installer pages. Third-party build tool and component providers can add new pages that
they have created to install their own products as well. -->
Expand All @@ -13,16 +13,16 @@
<page type="Sandcastle.Installer.InstallerPages.WelcomePage" />

<page type="Sandcastle.Installer.InstallerPages.WhatsNewPage">
<whatsNew url="https://EWSoftware.github.io/SHFB/html/06a9fd7f-31bb-4bb8-b685-04cc59fc36dd.htm"
description="Sandcastle Help File Builder and Tools v2019.9.15.0 Release Notes" />
<whatsNew url="https://EWSoftware.github.io/SHFB/html/f8d393f6-a081-43ad-9a84-e8d379f2de56.htm"
description="Sandcastle Help File Builder and Tools v2019.11.17.0 Release Notes" />
</page>

<page type="Sandcastle.Installer.InstallerPages.HelpFileFormatsPage">
<page type="Sandcastle.Installer.InstallerPages.Help1CompilerPage" />
</page>

<page type="Sandcastle.Installer.InstallerPages.SandcastleHelpFileBuilderPage"
shfbVersion="2019.9.15.0" installerName="SandcastleHelpFileBuilder.msi"/>
shfbVersion="2019.11.17.0" installerName="SandcastleHelpFileBuilder.msi"/>

<page type="Sandcastle.Installer.InstallerPages.SHFBVisualStudioPackagePage"
packageGuid="c997d569-ee8e-4947-a46f-9a0717ce39a0">
Expand Down
2 changes: 1 addition & 1 deletion Documentation/SandcastleBuilder/CommonTokens.tokens
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<content xml:space="preserve" xmlns:ddue="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
<item id="BuildDate">{@BuildDate:MMMM d, yyyy}</item>
<item id="SandcastleVersion">v2019.9.15.0</item>
<item id="SandcastleVersion">v2019.11.17.0</item>
<item id="SHFB"><ddue:externalLink xmlns:ddue="http://ddue.schemas.microsoft.com/authoring/2003/5">
<ddue:linkText>Sandcastle Help File Builder</ddue:linkText>
<ddue:linkUri>https://GitHub.com/EWSoftware/SHFB</ddue:linkUri>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -91,13 +91,21 @@ website output will be opened in a tabbed document window within Visual Studio.<
</listItem>

<listItem>
<para><ui>Enable extended XML comments completion options</ui> - (Visual Studio extension package
<para><ui>Enable extended XML comments completion options</ui> - (Visual Studio 2017 extension package
only) If checked, extended XML comments completion items specific to the Sandcastle tools will appear as options
in the completion pop-up when entering XML comments in C# projects. These can be used to quickly enter
Sandcastle-specific elements such as <codeInline>code</codeInline> elements with source and region attributes,
<codeInline>see langword</codeInline> elements, <codeInline>inheritdoc</codeInline> extensions, etc. This option
can be disabled if you do not wish to use the extended elements or if you think the completion provider is
causing issues with Visual Studio.</para>

<para>For extended XML comments completion support in Visual Studio 2019 and later, install the
<externalLink>
<linkText>Extended XML Documentation Comments Completion Provider</linkText>
<linkAlternateText>Extended XML Documentation Comments Completion Provider</linkAlternateText>
<linkUri>https://marketplace.visualstudio.com/items?itemName=EWoodruff.ExtendedDocCommentsProvider</linkUri>
<linkTarget>_blank</linkTarget>
</externalLink> package which can be downloaded and installed from the Visual Studio Gallery.</para>
</listItem>

<listItem>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,18 @@ editor extension that checks the spelling of comments, strings, and plain text a
a tool window. Support is included for spell checking source code, XML files, and MAML topic files.</para>
</listItem>

<listItem>
<para>For extended XML comments completion support in Visual Studio 2019 and later, install the
<externalLink>
<linkText>Extended XML Documentation Comments Completion Provider</linkText>
<linkAlternateText>Extended XML Documentation Comments Completion Provider</linkAlternateText>
<linkUri>https://marketplace.visualstudio.com/items?itemName=EWoodruff.ExtendedDocCommentsProvider</linkUri>
<linkTarget>_blank</linkTarget>
</externalLink> package which can be downloaded and installed from the Visual Studio Gallery. It is an editor
extension that augments the standard XML documentation comments elements with custom elements, attributes, and
attribute values supported by the Sandcastle Help File Builder and other documentation tools.</para>
</listItem>

<listItem>
<para>For a Visual Studio add-in used to create XML comments automatically, check out SubMain's
<externalLink>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,11 @@ review the release notes from all releases after it to the latest to find change
your project such as modifications to build component and plug-in configurations.</para>

<list class="bullet">
<listItem>
<para>
<link xlink:href="f8d393f6-a081-43ad-9a84-e8d379f2de56" />
</para>
</listItem>
<listItem>
<para>
<link xlink:href="06a9fd7f-31bb-4bb8-b685-04cc59fc36dd" />
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
<?xml version="1.0" encoding="utf-8"?>
<topic id="f8d393f6-a081-43ad-9a84-e8d379f2de56" revisionNumber="1">
<developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Ignore Spelling: Englert Exe -->
<introduction>
<autoOutline excludeRelatedTopics="true" lead="Release notes for version 2019.11.17.0." />

<alert class="note">
<para>This will be the last release that supports Visual Studio 2015. The next release will be updated
to use .NET 4.7 and Visual Studio 2017 or later.</para>
</alert>
</introduction>

<section address="SandcastleTools">
<title>Sandcastle Tools</title>
<content>

<list class="bullet">
<listItem>
<para>Updated the Generate Inherited Documentation tool to issue a warning
(<link xlink:href="69791faf-a420-4fc9-9dba-10d3f3f817a1">GID0010</link>) if it finds the deprecated
<codeInline>select</codeInline> attribute on the <codeInline>inheritdoc</codeInline> element.</para>
</listItem>

<listItem>
<para>Fixed the URL resolver so that the web client connection uses TLS 1.2 which is now required by
the server hosting the service.</para>
</listItem>
</list>

</content>
</section>

<section address="SHFB">
<title>Sandcastle Help File Builder</title>
<content>

<list class="bullet">
<listItem>
<para>Merged changes into the default project template from Tom Englert to allow the help file
builder NuGet packages to be referenced and restored within the help file project itself.</para>
</listItem>

<listItem>
<para>Fixed the build engine so that it sets the <codeInline>TargetFramework</codeInline> property in
the documentation source project when multi-targeting is being used. This allows other properties that use it to
be resolved correctly.</para>
</listItem>

<listItem>
<para>Fixed documentation assembly determination by checking the <codeInline>TargetExt</codeInline>
property and using it as the target assembly extension when the output type is "Exe". This solves a problem with
web SDK projects that output a native code host runtime assembly alongside the actual DLL.</para>
</listItem>

</list>

</content>
</section>

<section address="Docs">
<title>Documentation</title>
<content>

<list class="bullet">
<listItem>
<para>Updated the XML comments guide <codeInline>inheritdoc</codeInline> documentation to note that
the <codeInline>select</codeInline> attribute has been deprecated in favor of the <codeInline>path</codeInline>
attribute to be consistent with upcoming support for the element in Visual Studio 2019's IntelliSense.</para>
</listItem>
</list>

</content>
</section>

<relatedTopics>
<link xlink:href="078cc1c7-7995-431e-bf9c-8813becbe8df" />
</relatedTopics>

</developerConceptualDocument>
</topic>
11 changes: 8 additions & 3 deletions Documentation/SandcastleBuilder/SandcastleBuilder.content
Original file line number Diff line number Diff line change
Expand Up @@ -616,7 +616,7 @@
</HelpKeywords>
</Topic>
</Topic>
<Topic id="46d1f76e-a97e-4ee6-971c-fdeab725ff09" visible="True" isExpanded="true" title="Errors and Warnings">
<Topic id="46d1f76e-a97e-4ee6-971c-fdeab725ff09" visible="True" title="Errors and Warnings">
<HelpKeywords>
<HelpKeyword index="K" term="error list" />
<HelpKeyword index="K" term="warning list" />
Expand Down Expand Up @@ -1017,7 +1017,7 @@
<HelpKeyword index="K" term="warnings, GID0009" />
</HelpKeywords>
</Topic>
<Topic id="69791faf-a420-4fc9-9dba-10d3f3f817a1" visible="True" isSelected="true" title="GID0010: '[member ID]' uses the deprecated inheritdoc 'select' attribute">
<Topic id="69791faf-a420-4fc9-9dba-10d3f3f817a1" visible="True" title="GID0010: '[member ID]' uses the deprecated inheritdoc 'select' attribute">
<HelpKeywords>
<HelpKeyword index="K" term="warnings, GID0010" />
</HelpKeywords>
Expand Down Expand Up @@ -1388,11 +1388,16 @@
<HelpKeyword index="K" term="support, donate" />
</HelpKeywords>
</Topic>
<Topic id="078cc1c7-7995-431e-bf9c-8813becbe8df" visible="True" title="Version History">
<Topic id="078cc1c7-7995-431e-bf9c-8813becbe8df" visible="True" isExpanded="true" title="Version History">
<HelpKeywords>
<HelpKeyword index="K" term="History" />
<HelpKeyword index="K" term="Version History" />
</HelpKeywords>
<Topic id="f8d393f6-a081-43ad-9a84-e8d379f2de56" visible="True" isSelected="true" title="Version 2019.11.17.0">
<HelpKeywords>
<HelpKeyword index="K" term="versions, 2019.11.17.0" />
</HelpKeywords>
</Topic>
<Topic id="06a9fd7f-31bb-4bb8-b685-04cc59fc36dd" visible="True" title="Version 2019.9.15.0">
<HelpKeywords>
<HelpKeyword index="K" term="versions, 2019.9.15.0" />
Expand Down
3 changes: 2 additions & 1 deletion Documentation/SandcastleBuilder/SandcastleBuilder.shfbproj
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
<FeedbackEMailAddress>Eric%40EWoodruff.us</FeedbackEMailAddress>
<PresentationStyle>VS2013</PresentationStyle>
<SyntaxFilters>Standard</SyntaxFilters>
<HelpFileVersion>2019.9.15.0</HelpFileVersion>
<HelpFileVersion>2019.11.17.0</HelpFileVersion>
<ComponentConfigurations>
</ComponentConfigurations>
<DocumentationSources>
Expand Down Expand Up @@ -285,6 +285,7 @@
</ItemGroup>
<ItemGroup>
<None Include="Content\ErrorsAndWarnings\InheritedDocs\GID0010.aml" />
<None Include="Content\VersionHistory\v2019.11.17.0.aml" />
<None Include="Content\VersionHistory\v2019.6.24.0.aml" />
<None Include="Content\AddConceptContent\AddContent.aml" />
<None Include="Content\AddConceptContent\SiteMapEditor.aml" />
Expand Down
2 changes: 1 addition & 1 deletion NuGet/SHFB.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
<metadata>
<id>EWSoftware.SHFB</id>
<version>2019.9.15.0</version>
<version>2019.11.17.0</version>
<title>Sandcastle Help File Builder</title>
<authors>Eric Woodruff</authors>
<owners>Eric Woodruff</owners>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,11 +57,11 @@
</PropertyGroup>
<ItemGroup>
<Reference Include="Microsoft.Build.Framework, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Build.Framework.14.3.0\lib\net45\Microsoft.Build.Framework.dll</HintPath>
<HintPath>..\..\packages\Microsoft.Build.Framework.14.3.0\lib\net45\Microsoft.Build.Framework.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="Microsoft.Build.Utilities.Core, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Build.Utilities.Core.14.3.0\lib\net45\Microsoft.Build.Utilities.Core.dll</HintPath>
<HintPath>..\..\packages\Microsoft.Build.Utilities.Core.14.3.0\lib\net45\Microsoft.Build.Utilities.Core.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="System" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
// System : Sandcastle Help File Builder Components
// File : MicrosoftDocsXRefServiceResolver.cs
// Author : Eric Woodruff ([email protected])
// Updated : 08/16/2019
// Updated : 11/15/2019
// Note : Copyright 2019, Eric Woodruff, All rights reserved
// Compiler: Microsoft Visual C#
//
Expand Down Expand Up @@ -73,6 +73,11 @@ public sealed class MicrosoftDocsXRefServiceResolver : IMemberIdUrlResolver
/// <overloads>There are two overloads for the constructor</overloads>
public MicrosoftDocsXRefServiceResolver()
{
// .NET 4.5 doesn't use TLS 1.2 by default so we have to manually tell it to use it or the web client
// connections will fail. This can be removed once we upgrade to .NET 4.6.2 or later.
if((ServicePointManager.SecurityProtocol & SecurityProtocolType.Tls12) != SecurityProtocolType.Tls12)
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

client = new WebClient();

this.CrossReferenceUrlFormat = "https://xref.docs.microsoft.com/query?uid={0}";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,11 +59,11 @@
</PropertyGroup>
<ItemGroup>
<Reference Include="Microsoft.Build.Framework, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>packages\Microsoft.Build.Framework.14.3.0\lib\net45\Microsoft.Build.Framework.dll</HintPath>
<HintPath>..\packages\Microsoft.Build.Framework.14.3.0\lib\net45\Microsoft.Build.Framework.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="Microsoft.Build.Utilities.Core, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>packages\Microsoft.Build.Utilities.Core.14.3.0\lib\net45\Microsoft.Build.Utilities.Core.dll</HintPath>
<HintPath>..\packages\Microsoft.Build.Utilities.Core.14.3.0\lib\net45\Microsoft.Build.Utilities.Core.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="System" />
Expand Down
4 changes: 2 additions & 2 deletions SHFB/Source/MRefBuilder/MRefBuilder.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -60,11 +60,11 @@
</PropertyGroup>
<ItemGroup>
<Reference Include="Microsoft.Build.Framework, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>packages\Microsoft.Build.Framework.14.3.0\lib\net45\Microsoft.Build.Framework.dll</HintPath>
<HintPath>..\packages\Microsoft.Build.Framework.14.3.0\lib\net45\Microsoft.Build.Framework.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="Microsoft.Build.Utilities.Core, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>packages\Microsoft.Build.Utilities.Core.14.3.0\lib\net45\Microsoft.Build.Utilities.Core.dll</HintPath>
<HintPath>..\packages\Microsoft.Build.Utilities.Core.14.3.0\lib\net45\Microsoft.Build.Utilities.Core.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="System" />
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<PackageManifest Version="2.0.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2011" xmlns:d="http://schemas.microsoft.com/developer/vsx-schema-design/2011">
<Metadata>
<Identity Id="c997d569-ee8e-4947-a46f-9a0717ce39a0" Version="2019.9.15.0" Language="en-US" Publisher="EWSoftware" />
<Identity Id="c997d569-ee8e-4947-a46f-9a0717ce39a0" Version="2019.11.17.0" Language="en-US" Publisher="EWSoftware" />
<DisplayName>SHFB</DisplayName>
<Description xml:space="preserve">Visual Studio integration for the Sandcastle Help File Builder.</Description>
<MoreInfo>https://ewsoftware.github.io/SHFB/html/bd1ddb51-1c4f-434f-bb1a-ce2135d3a909.htm</MoreInfo>
Expand Down
9 changes: 7 additions & 2 deletions SHFB/Source/SandcastleBuilderPlugIns/AjaxDocPlugIn.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
// System : Sandcastle Help File Builder Plug-Ins
// File : AjaxDocPlugIn.cs
// Author : Eric Woodruff ([email protected])
// Updated : 05/25/2015
// Note : Copyright 2007-2015, Eric Woodruff, All rights reserved
// Updated : 11/15/2019
// Note : Copyright 2007-2019, Eric Woodruff, All rights reserved
// Compiler: Microsoft Visual C#
//
// This file contains a plug-in designed to generate XML comments and reflection file information for Atlas
Expand Down Expand Up @@ -285,6 +285,11 @@ public void Execute(SandcastleBuilder.Utils.BuildComponent.ExecutionContext cont
// Allow Before step plug-ins to run
builder.ExecuteBeforeStepPlugIns();

// .NET 4.5 doesn't use TLS 1.2 by default so we have to manually tell it to use it or the web client
// connections will fail. This can be removed once we upgrade to .NET 4.6.2 or later.
if((ServicePointManager.SecurityProtocol & SecurityProtocolType.Tls12) != SecurityProtocolType.Tls12)
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

// Download the files
using(WebClient webClient = new WebClient())
{
Expand Down
10 changes: 8 additions & 2 deletions SHFB/Source/SandcastleBuilderPlugIns/DeploymentPlugIn.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
// System : Sandcastle Help File Builder Plug-Ins
// File : DeploymentPlugIn.cs
// Author : Eric Woodruff ([email protected])
// Updated : 05/03/2015
// Note : Copyright 2007-2015, Eric Woodruff, All rights reserved
// Updated : 11/15/2019
// Note : Copyright 2007-2019, Eric Woodruff, All rights reserved
// Compiler: Microsoft Visual C#
//
// This file contains a plug-in that can be used to deploy the resulting help file output to a location other
Expand Down Expand Up @@ -264,6 +264,12 @@ private void DeployOutput(Collection<string> files, DeploymentLocation location)
rootPath = target.LocalPath;
else
{
// .NET 4.5 doesn't use TLS 1.2 by default so we have to manually tell it to use it or the
// web client connections will fail. This can be removed once we upgrade to .NET 4.6.2 or
// later.
if((ServicePointManager.SecurityProtocol & SecurityProtocolType.Tls12) != SecurityProtocolType.Tls12)
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

// FTP, HTTP, etc.
rootPath = target.ToString();
webClient = new WebClient();
Expand Down
Loading

0 comments on commit e0de8b2

Please sign in to comment.