Skip to content

Add README.md to NuGet packages#15550

Merged
nohwnd merged 2 commits into
microsoft:mainfrom
nohwnd:add-readmes
Mar 24, 2026
Merged

Add README.md to NuGet packages#15550
nohwnd merged 2 commits into
microsoft:mainfrom
nohwnd:add-readmes

Conversation

@nohwnd
Copy link
Copy Markdown
Member

@nohwnd nohwnd commented Mar 23, 2026

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

  • 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 referencing the README via \$\
  • Updated \�ng/verify-nupkgs.ps1\ expected file counts (+1 per package for the new README.md)

Each README includes a package description, usage information, and links to the main repository documentation.

Verification

  • \�uild.cmd -pack\ passes with 0 errors and no 'missing a readme' warnings

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>
@nohwnd nohwnd requested a review from Evangelink as a code owner March 23, 2026 19:04
Copilot AI review requested due to automatic review settings March 23, 2026 19:04
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.ps1 expected 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.

Comment thread eng/verify-nupkgs.ps1
Comment thread src/package/Microsoft.TestPlatform/Microsoft.TestPlatform.nuspec
@nohwnd
Copy link
Copy Markdown
Member Author

nohwnd commented Mar 23, 2026

Infra good , content needs review

Comment thread src/Microsoft.TestPlatform.Build/README.md Outdated
Comment thread src/Microsoft.TestPlatform.ObjectModel/README.md Outdated
Comment thread src/Microsoft.TestPlatform.ObjectModel/README.md Outdated
Comment thread src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/README.md Outdated
Comment thread src/package/Microsoft.TestPlatform/README.md Outdated
Comment thread src/package/Microsoft.TestPlatform.Portable/README.md Outdated
Copy link
Copy Markdown
Member Author

@nohwnd nohwnd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

clarifications

Co-authored-by: Jakub Jareš <me@jakubjares.com>
Copilot AI review requested due to automatic review settings March 24, 2026 05:48
@nohwnd nohwnd added the 🚢 Ship it! Add to PRs where owner approves automated PR, but cannot approve because they "wrote it". label Mar 24, 2026
@nohwnd nohwnd enabled auto-merge (squash) March 24, 2026 05:49
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 29 out of 29 changed files in this pull request and generated 4 comments.

Comment on lines +3 to +4
Code coverage infrastructure for the Visual Studio Test Platform. This package enables collecting code coverage data from `vstest.console.exe` and `dotnet test`.

Copy link

Copilot AI Mar 24, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Suggested change
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.

Copilot uses AI. Check for mistakes.
Comment on lines +13 to +16
```csharp
var vstestConsolePath = "<path to vstest.console.exe or .dll>";
var consoleWrapper = new VsTestConsoleWrapper(vstestConsolePath);

Copy link

Copilot AI Mar 24, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Suggested change
```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!;

Copilot uses AI. Check for mistakes.
<PackageReference Include="Microsoft.TestPlatform" Version="x.y.z" />
```


Copy link

Copilot AI Mar 24, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Suggested change

Copilot uses AI. Check for mistakes.
<PackageReference Include="Microsoft.TestPlatform.Portable" Version="x.y.z" />
```


Copy link

Copilot AI Mar 24, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Suggested change

Copilot uses AI. Check for mistakes.
This was referenced May 28, 2026
github-actions Bot added a commit to secana/PeNet that referenced this pull request May 28, 2026
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>

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=Microsoft.NET.Test.Sdk&package-manager=nuget&previous-version=18.5.1&new-version=18.6.0)](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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🚢 Ship it! Add to PRs where owner approves automated PR, but cannot approve because they "wrote it".

Projects

None yet

Development

Successfully merging this pull request may close these issues.

add readmes

3 participants