Add README.md to NuGet packages#15550
Conversation
Add README.md files to all NuGet packages produced by vstest to resolve the 'missing a readme' warnings during pack. Each README includes a package description, usage information, and links to documentation. Changes: - Created README.md for 12 packages (Microsoft.NET.Test.Sdk, Microsoft.TestPlatform.Build, Microsoft.TestPlatform.ObjectModel, Microsoft.TestPlatform.TestHost, Microsoft.TestPlatform.AdapterUtilities, Microsoft.TestPlatform.TranslationLayer, Microsoft.TestPlatform.Extensions.TrxLogger, Microsoft.CodeCoverage, Microsoft.TestPlatform, Microsoft.TestPlatform.CLI, Microsoft.TestPlatform.Portable, Microsoft.TestPlatform.Internal.Uwp) - Updated all .nuspec files (including sourcebuild variants) with <readme> metadata and <file> entries - Updated eng/verify-nupkgs.ps1 expected file counts (+1 per package) Closes microsoft#15549 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Adds per-package README.md files and wires them into vstest-produced NuGet packages to eliminate “missing readme” warnings during packing.
Changes:
- Added README.md files for multiple vstest NuGet packages with basic usage + links.
- Updated nuspecs (including source-build variants) to include
<readme>metadata and package the README.md at the package root. - Updated
eng/verify-nupkgs.ps1expected file counts to account for the added README.md in each package.
Reviewed changes
Copilot reviewed 29 out of 29 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| src/package/Microsoft.TestPlatform/README.md | Adds NuGet README content for Microsoft.TestPlatform. |
| src/package/Microsoft.TestPlatform/Microsoft.TestPlatform.nuspec | Includes README in nuspec metadata and files. |
| src/package/Microsoft.TestPlatform.TestHost/README.md | Adds NuGet README content for TestHost package. |
| src/package/Microsoft.TestPlatform.TestHost/Microsoft.TestPlatform.TestHost.nuspec | Includes README in nuspec metadata and files. |
| src/package/Microsoft.TestPlatform.Portable/README.md | Adds NuGet README content for Portable package. |
| src/package/Microsoft.TestPlatform.Portable/Microsoft.TestPlatform.Portable.nuspec | Includes README in nuspec metadata and files. |
| src/package/Microsoft.TestPlatform.Internal.Uwp/README.md | Adds NuGet README content for Internal.Uwp package. |
| src/package/Microsoft.TestPlatform.Internal.Uwp/Microsoft.TestPlatform.Internal.Uwp.nuspec | Includes README in nuspec metadata and files. |
| src/package/Microsoft.TestPlatform.CLI/README.md | Adds NuGet README content for CLI package. |
| src/package/Microsoft.TestPlatform.CLI/Microsoft.TestPlatform.CLI.sourcebuild.product.nuspec | Includes README in sourcebuild product nuspec. |
| src/package/Microsoft.TestPlatform.CLI/Microsoft.TestPlatform.CLI.sourcebuild.nuspec | Includes README in sourcebuild nuspec. |
| src/package/Microsoft.TestPlatform.CLI/Microsoft.TestPlatform.CLI.nuspec | Includes README in main CLI nuspec. |
| src/package/Microsoft.NET.Test.Sdk/README.md | Adds NuGet README content for Microsoft.NET.Test.Sdk. |
| src/package/Microsoft.NET.Test.Sdk/Microsoft.NET.Test.Sdk.nuspec | Includes README in nuspec metadata and files. |
| src/package/Microsoft.CodeCoverage/README.md | Adds NuGet README content for CodeCoverage package. |
| src/package/Microsoft.CodeCoverage/Microsoft.CodeCoverage.nuspec | Includes README in nuspec metadata and files. |
| src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/README.md | Adds NuGet README content for TranslationLayer package. |
| src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/Microsoft.TestPlatform.VsTestConsole.TranslationLayer.nuspec | Includes README in nuspec metadata and files. |
| src/Microsoft.TestPlatform.ObjectModel/README.md | Adds NuGet README content for ObjectModel package. |
| src/Microsoft.TestPlatform.ObjectModel/Microsoft.TestPlatform.ObjectModel.nuspec | Includes README in nuspec metadata and files. |
| src/Microsoft.TestPlatform.Extensions.TrxLogger/README.md | Adds NuGet README content for TRX logger package. |
| src/Microsoft.TestPlatform.Extensions.TrxLogger/Microsoft.TestPlatform.Extensions.TrxLogger.nuspec | Includes README in nuspec metadata and files. |
| src/Microsoft.TestPlatform.Build/README.md | Adds NuGet README content for Build package. |
| src/Microsoft.TestPlatform.Build/Microsoft.TestPlatform.Build.sourcebuild.product.nuspec | Includes README in sourcebuild product nuspec. |
| src/Microsoft.TestPlatform.Build/Microsoft.TestPlatform.Build.sourcebuild.nuspec | Includes README in sourcebuild nuspec. |
| src/Microsoft.TestPlatform.Build/Microsoft.TestPlatform.Build.nuspec | Includes README in main Build nuspec. |
| src/Microsoft.TestPlatform.AdapterUtilities/README.md | Adds NuGet README content for AdapterUtilities package. |
| src/Microsoft.TestPlatform.AdapterUtilities/Microsoft.TestPlatform.AdapterUtilities.nuspec | Includes README in nuspec metadata and files. |
| eng/verify-nupkgs.ps1 | Updates expected package file counts (+1) to account for README.md. |
|
Infra good , content needs review |
Co-authored-by: Jakub Jareš <me@jakubjares.com>
| Code coverage infrastructure for the Visual Studio Test Platform. This package enables collecting code coverage data from `vstest.console.exe` and `dotnet test`. | ||
|
|
There was a problem hiding this comment.
The package appears to be .NET Framework–based (net462 in the nuspec), which effectively makes it Windows-only. The README currently doesn’t mention the platform/runtime constraints, and the dotnet test --collect \"Code Coverage\" example may not apply outside that environment. Consider explicitly stating the supported runtime/platform and, if applicable, pointing cross-platform users to the appropriate alternative collector.
| Code coverage infrastructure for the Visual Studio Test Platform. This package enables collecting code coverage data from `vstest.console.exe` and `dotnet test`. | |
| Code coverage infrastructure for the Visual Studio Test Platform. This package targets .NET Framework 4.6.2 (`net462`) and is supported on Windows only. It enables collecting code coverage data from `vstest.console.exe` and `dotnet test` on Windows. | |
| ## Platform support | |
| Microsoft.CodeCoverage runs on Windows only. The `dotnet test --collect "Code Coverage"` example below applies when tests are executed on Windows with this collector available (typically via `Microsoft.NET.Test.Sdk`). | |
| For cross-platform .NET (for example, .NET Core or .NET 5+), use the cross-platform code coverage collector described in [Code Coverage for .NET Core](https://github.com/microsoft/vstest/blob/main/docs/RFCs/0021-CodeCoverageForNetCore.md) instead of this package. |
| ```csharp | ||
| var vstestConsolePath = "<path to vstest.console.exe or .dll>"; | ||
| var consoleWrapper = new VsTestConsoleWrapper(vstestConsolePath); | ||
|
|
There was a problem hiding this comment.
The example snippet won’t compile as-is because VsTestConsoleWrapper is missing its namespace/imports (and the sample references several undefined variables). Consider either adding the minimal using/fully-qualified type name for VsTestConsoleWrapper or adjusting the snippet to clearly indicate what types/namespaces the consumer should use so the sample is mechanically actionable.
| ```csharp | |
| var vstestConsolePath = "<path to vstest.console.exe or .dll>"; | |
| var consoleWrapper = new VsTestConsoleWrapper(vstestConsolePath); | |
| ```csharp | |
| using System; | |
| using System.Collections.Generic; | |
| using Microsoft.TestPlatform.VsTestConsole.TranslationLayer; | |
| using Microsoft.VisualStudio.TestPlatform.ObjectModel.Client; | |
| var vstestConsolePath = "<path to vstest.console.exe or .dll>"; | |
| var consoleWrapper = new VsTestConsoleWrapper(vstestConsolePath); | |
| IEnumerable<string> extensionPaths = Array.Empty<string>(); | |
| IEnumerable<string> testAssemblies = new[] { "<path to your test assembly>.dll" }; | |
| string settings = string.Empty; | |
| ITestDiscoveryEventsHandler2 discoveryHandler = /* your implementation */ null!; | |
| ITestRunEventsHandler executionHandler = /* your implementation */ null!; |
| <PackageReference Include="Microsoft.TestPlatform" Version="x.y.z" /> | ||
| ``` | ||
|
|
||
|
|
There was a problem hiding this comment.
There are two consecutive blank lines before the '## Links' header. Consider reducing to a single blank line to keep markdown formatting consistent and easier to scan.
| <PackageReference Include="Microsoft.TestPlatform.Portable" Version="x.y.z" /> | ||
| ``` | ||
|
|
||
|
|
There was a problem hiding this comment.
There are two consecutive blank lines before the '## Links' header. Consider reducing to a single blank line to keep markdown formatting consistent and easier to scan.
Updated [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 18.5.1 to 18.6.0. <details> <summary>Release notes</summary> _Sourced from [Microsoft.NET.Test.Sdk's releases](https://github.com/microsoft/vstest/releases)._ ## 18.6.0 ## What's Changed * Revert removal of Video Recorder by @nohwnd in microsoft/vstest#15336 * Speed up blame by filtering non-.NET processes from dump collection by @nohwnd in microsoft/vstest#15518 * Add README.md to NuGet packages by @nohwnd in microsoft/vstest#15550 * Report child process info on connection timeout by @nohwnd in microsoft/vstest#15603 ### Changes to tests and infra * Brand as 18.6 by @nohwnd in microsoft/vstest#15423 * Upgrading code coverage version to 18.5.1, by @fhnaseer in microsoft/vstest#15422 * Updating System.Collections.Immutable to 9.0.11 by @MSLukeWest in microsoft/vstest#15425 * Fix attachVS when used for debugging integration tests by @nohwnd in microsoft/vstest#15451 * Replace dotnet.config, with global.json by @nohwnd in microsoft/vstest#15449 * Document debugging integration tests with AttachVS by @Copilot in microsoft/vstest#15452 * Fix stack overflow tests by @nohwnd in microsoft/vstest#15461 * Make TestAssets.sln buildable locally by @Youssef1313 in microsoft/vstest#15466 * Try filtering out tests by @nohwnd in microsoft/vstest#15463 * Build just once when tfms run in parallel by @nohwnd in microsoft/vstest#15465 * Review simplify compatibility sources, deduplicate tests by @nohwnd in microsoft/vstest#15472 * Cleanup dead TRX code by @Youssef1313 in microsoft/vstest#15474 * Update .NET runtimes to 8.0.25, 9.0.14, and 10.0.4 by @nohwnd in microsoft/vstest#15481 * Compat matrix checker by @nohwnd in microsoft/vstest#15480 * Add trx analysis skill by @nohwnd in microsoft/vstest#15486 * Split integration tests to single tfm and multi tfm project by @nohwnd in microsoft/vstest#15484 * Update matrix by @nohwnd in microsoft/vstest#15477 * Break infinite restore loop in VS by @nohwnd in microsoft/vstest#15503 * Use global package cache for build, and local for running integration tests by @nohwnd in microsoft/vstest#15500 * Update contributing by @nohwnd in microsoft/vstest#15505 * Reduce test wall-clock time by increasing minThreads by @drognanar in microsoft/vstest#15502 * Indicator flakiness by @nohwnd in microsoft/vstest#15513 * Fix ci build by @nohwnd in microsoft/vstest#15515 * Fix thread safety issues by @Evangelink in microsoft/vstest#15512 * Optimize DotnetSDKSimulation_PostProcessing test (163s → 61s) by @nohwnd in microsoft/vstest#15516 * Build isolated test assets for single TFM instead of 7 by @nohwnd in microsoft/vstest#15517 * Remove unused dependencies from Library.IntegrationTests by @nohwnd in microsoft/vstest#15527 * Remove printing _attachments content to console by @nohwnd in microsoft/vstest#15520 * Add Linux/macOS test filtering guide to CONTRIBUTING.md by @nohwnd in microsoft/vstest#15521 * Change integration test parallelization from ClassLevel to MethodLevel by @nohwnd in microsoft/vstest#15526 * Unify target framework checks with IsNetFrameworkTarget/IsNetTarget by @nohwnd in microsoft/vstest#15523 * Add unattended work instructions to copilot-instructions.md by @nohwnd in microsoft/vstest#15531 * Reduce code style rule severity from warning to suggestion by @nohwnd in microsoft/vstest#15522 * Remove Debug/Release line number branching from tests by @nohwnd in microsoft/vstest#15519 * Revise unattended work instructions in copilot-instructions.md by @nohwnd in microsoft/vstest#15532 * Improve CompatibilityRowsBuilder error message with diagnostic details by @nohwnd in microsoft/vstest#15529 * docs: add git worktree and upstream sync workflow to copilot-instructions.md by @nohwnd in microsoft/vstest#15538 * Add VSIX runner to smoke tests by @nohwnd in microsoft/vstest#15541 * Remove deprecated WebTest and TMI test methods by @nohwnd in microsoft/vstest#15525 * Fix compatibility test failures for legacy vstest.console and MSTest adapter by @nohwnd in microsoft/vstest#15534 * Convert TestPlatform.sln to slnx format by @nohwnd in microsoft/vstest#15551 * Convert test/TestAssets .sln files to .slnx format by @nohwnd in microsoft/vstest#15557 ... (truncated) Commits viewable in [compare view](microsoft/vstest@v18.5.1...v18.6.0). </details> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details>
Summary
Add README.md files to all NuGet packages produced by vstest to resolve the 'missing a readme' warnings during \�uild.cmd -pack.
Closes #15549
Changes
Each README includes a package description, usage information, and links to the main repository documentation.
Verification