You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Provide package like vstest console translation layer, that will be able to recognize mtp processes, start them, send them requests and handle responses.
Background and Motivation
Orchestrating MTP is not super easy and requires implementation of the protocol which we documented but don't provide a public reference implementation for. If we had it then multiple places could take advantage of this client, for tasks like orchestrating runs, sharding (#4068), mutation runs and so on.
Proposed Feature
Extract the client code that we have in VS, and make it into a client package for MTP.
Also note that the rpc-json is quite slow and incomplete as compared to the pipe one implemented for dotnet test. This might be a better starting point for completness.
Closing for now — there isn't a concrete use case that justifies designing and shipping a public MTP client / orchestration NuGet yet. The open questions raised above (extracting the VS client, json-rpc vs. the newer pipe protocol for completeness, and #5490) all remain, and without a real consumer driving the requirements the design would be speculative.
We'll revisit (and reopen) when a good, concrete use case surfaces.
Note this does not block the current cross-repo work: sharing the dotnet test wire contract and the terminal reporter source between microsoft/testfx and dotnet/sdk is being done via an internal, source-only package (IsShipping=false, not on nuget.org) — an implementation detail of dotnet test integration, not the public client library this issue proposes.
Activity
Youssef1313 commentedon Jun 1, 2025
Few notes:
JsonRpcas part of the package name. Just in case in future we wanted to expose the binary protocol used bydotnet test.Evangelink commentedon Jun 2, 2025
Also note that the rpc-json is quite slow and incomplete as compared to the pipe one implemented for
dotnet test. This might be a better starting point for completness.nohwnd commentedon Aug 29, 2025
One more effort that would benefit from MTP having a client library on nuget: ionide/FsAutoComplete#1383
Evangelink commentedon Jun 19, 2026
Closing for now — there isn't a concrete use case that justifies designing and shipping a public MTP client / orchestration NuGet yet. The open questions raised above (extracting the VS client, json-rpc vs. the newer pipe protocol for completeness, and #5490) all remain, and without a real consumer driving the requirements the design would be speculative.
We'll revisit (and reopen) when a good, concrete use case surfaces.
Note this does not block the current cross-repo work: sharing the
dotnet testwire contract and the terminal reporter source between microsoft/testfx and dotnet/sdk is being done via an internal, source-only package (IsShipping=false, not on nuget.org) — an implementation detail ofdotnet testintegration, not the public client library this issue proposes.Youssef1313 commentedon Jun 19, 2026
fwiw, https://github.com/Youssef1313/MTPSharding/tree/main/src/YTest.MTP.PipeProtocol was a personal attempt on this. YTest.MTP.PipeProtocol is public on nuget.org already. It's not super polished though.