New Features
- .NET CLI tool: Allow mddocs to run on newer versions of .NET by default
- MSBuild Integration: Run MdDocs outside MSBuild process
Bug Fixes
- Remove framework assembly references from Grynwald.MdDocs.MSBuild NuGet package
- Retain blank lines from <code> blocks in the Markdown output
Breaking Changes
Details
.NET CLI tool: Allow mddocs to run on newer versions of .NET by default
Enable .NET runtime setting to allow running mddocs on newer versions of .NET if none of the supported runtimes are available.
This means - while currently, the mddocs CLI tool supports .NET 6 and .NET 7, it will use the .NET 8 or newer runtime when no version of .NET 6 or .NET 7 is installed.
- See Also: https://learn.microsoft.com/en-us/dotnet/core/whats-new/dotnet-core-2-1#roll-forward
- Commit:
781564e
MSBuild Integration: Run MdDocs outside MSBuild process
Breaking Change: The Grynwald.MdDocs.MSBuild package now requires the .NET 6 (or later) runtime to be installed, even when running in "Full Version" MSBuild or Visual Studio
In the MSBuild integration, replace the MdDocs MSBuild tasks that run MdDocs inside the MSBuild process with targets that run the MdDocs CLI in a separate process.
This way, MdDocs needs to only run on .NET 6 / .NET 7 and no longer has to consider compatibility with .NET Framework.
Also, this should resolve any dependency conflicts between MdDocs and MSBuild.
The MSBuild integration continues to work in both the "Core" (.NET SDK) and "Desktop" (Visual Studio) versions of MSBuild as long as a compatible .NET runtime is installed.
Remove framework assembly references from Grynwald.MdDocs.MSBuild NuGet package
Remove redundant framework assembly references since the Grynwald.MdDocs.MSBuild package is a build tools package which does not require references to .NET Framework assemblies to be added to consuming projects.
Retain blank lines from <code> blocks in the Markdown output
Update dependency Grynwald.MarkdownGenerator to version 3.0.106 which includes a fix for serialization of Markdown code blocks (all blank lines from code blocks used to be removed from the output).