.NET Docker launch schema rejects args and sourceFileMap used by the debug resolver

Open Beginner friendly
#655 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
78/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
docker, typescript, vscode
Domain
devtools, testing

Research direction

The issue identifies the launch schema and the .NET resolver at extensions/vscode-containers/src/debugging/netcore/NetCoreDebugHelper.ts; locate the launch schema and its validation tests. Read how the resolver handles args and sourceFileMap, then add schema definitions and coverage for both properties. Done when the example configuration produces no schema warnings and the validation tests pass.

Written by the indexing model from the issue text.

Description

Description

Container Tools reports these warnings for a Docker .NET launch configuration:

  • Property args is not allowed.
  • Property sourceFileMap is not allowed.

However, the .NET launch resolver explicitly reads both properties and forwards them to the resolved coreclr configuration.

Environment

  • Container Tools: ms-azuretools.vscode-containers 2.5.3
  • VS Code: 1.109.4, x64
  • Windows, build 26200
  • Debugging .NET 9 in Linux containers

Steps to reproduce

  1. Install Container Tools and open a folder in VS Code.
  2. Add the following to .vscode/launch.json.
  3. Open the Problems panel.
{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Example .NET container",
      "type": "docker",
      "request": "launch",
      "platform": "netCore",
      "containerName": "example-app",
      "netCore": {
        "appProject": "${workspaceFolder}\\ExampleApp.csproj"
      },
      "args": ["/app/ExampleApp.dll"],
      "sourceFileMap": {
        "/src": "${workspaceFolder}"
      }
    }
  ]
}

Both properties are flagged without starting a debug session. Two configurations produce four warnings.

This example reproduces schema diagnostics only; actually launching requires a project and configured container.

Expected behavior

The launch schema should accept and describe these properties if they are supported overrides.

Actual behavior and evidence

The launch schema omits both properties. The attach schema includes sourceFileMap. The omission is also present on main at commit 4bb819ccbf71cdf3eb3a4b36493987caabb60572 (manifest version 2.5.4-alpha).

In the 2.5.3 launch resolver, line 120 reads debugConfiguration.args, and line 136 reads debugConfiguration.sourceFileMap.

In a working container setup, these overrides select the mounted application DLL and map portable PDB source paths back to the workspace. Debugging works, but the schema warnings remain.

Requested change

Align the Docker .NET launch schema with the resolver, adding appropriate definitions and validation coverage for args and sourceFileMap. If these overrides are intentionally unsupported, please clarify the supported alternative.

Dominant language
TypeScript
Stars
147
Forks
93
Avg merge
9h 16m
Merged PRs (30d)
14

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from microsoft/vscode-containers

All issues in microsoft/vscode-containers

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.