`DebuggerTypeProxy` generates an invalid expression when runtime and static types differ
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 45/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Tranquilo
- Stack tecnológico
- csharp, typescript, vscode
- Área
- devtools
Línea de trabajo
Ejecuta la reproducción de C# proporcionada en VS Code e inspecciona las rutas del depurador utilizadas por Copy Value y Copy as Expression para un DebuggerTypeProxy cuyos tipos en tiempo de ejecución y estático difieren. Se considera completado cuando Copy Value devuelve Value y Copy as Expression incluye la conversión requerida a Derived en la expresión DebugProxy generada.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Type: Bug
Issue Description
When expression runtime type is different from its static type, and runtime type define DebuggerTypeProxy, then that proxy displayed in Locals view, but interacting with proxies' properties (Copy Value, Copy as Expression) produce incorrect result.
Steps to Reproduce
using System.Diagnostics;
namespace Test;
public static class Program
{
public static void Main()
{
Base v = new Derived();
} // breakpoint here
}
public class Base { }
[DebuggerTypeProxy(typeof(DebugProxy))]
public class Derived : Base { }
public class DebugProxy(Derived instance)
{
public string Property => "Value";
}
Expected Behavior
Copy Value should copy Value.
Copy as Expression should copy new Test.DebugProxy((Derived)v).Property.
Actual Behavior
Copy Value copy error CS1503: Argument 1: cannot convert from 'Test.Base' to 'Test.Derived'.
Copy as Expression copy new Test.DebugProxy(v).Property.
Extension version: 2.130.5
VS Code version: Code 1.113.0 (cfbea10c5ffb233ea9177d34726e6056e89913dc, 2026-03-24T15:07:18+01:00)
OS version: Windows_NT x64 10.0.28000
Modes:
Environment Information
VSCode version: 1.113.0
C# Extension: 2.130.5
Using OmniSharp: false
Dotnet Information
.NET SDK:
Version: 10.0.201
Commit: 4d3023de60
Workload version: 10.0.200-manifests.0793c108
MSBuild version: 18.3.0-release-26153-122+4d3023de6
Runtime Environment:
OS Name: Windows
OS Version: 10.0.28000
OS Platform: Windows
RID: win-x64
Base Path: C:\Program Files\dotnet\sdk\10.0.201\
.NET workloads installed:
There are no installed workloads to display.
Configured to use workload sets when installing new manifests.
No workload sets are installed. Run "dotnet workload restore" to install a workload set.
Host:
Version: 10.0.5
Architecture: x64
Commit: a612c2a105
.NET SDKs installed:
10.0.201 [C:\Program Files\dotnet\sdk]
.NET runtimes installed:
Microsoft.AspNetCore.App 10.0.5 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 10.0.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.WindowsDesktop.App 10.0.5 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Other architectures found:
None
Environment variables:
Not set
global.json file:
Not found
Visual Studio Code Extensions
| Extension | Author | Version | Folder Name |
|---|---|---|---|
| csharp | ms-dotnettools | 2.130.5 | ms-dotnettools.csharp-2.130.5 |
| vscode-dotnet-runtime | ms-dotnettools | 3.0.0 | ms-dotnettools.vscode-dotnet-runtime-3.0.0 |
C# Settings
| Setting | Value |
|---|---|
| preferCSharpExtension | false |
| compilerDiagnosticScope | openFiles |
| analyzerDiagnosticScope | openFiles |
| enableXamlTools | true |
| useServerGC | true |
- Lenguaje dominante
- TypeScript
- Estrellas
- 3.1k
- Forks
- 742
- Merge medio
- 1 d 3 h
- PR fusionados (30 d)
- 53
Preparar el entorno
Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de dotnet/vscode-csharp
-
Remove temporary .NET 11 CI container digest pinQuizá libre de nuevo Un pull request para esta issue se cerró sin fusionarse. AbiertoInfrastructure Test
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
dotnet/vscode-csharp#9791 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
untriaged
Dificultad 4/5 3-5 días Aptitud para principiantes 42/100
dotnet/vscode-csharp#9944 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
C# extension crach in VS CodeAbiertountriaged
Dificultad 4/5 3-5 días Aptitud para principiantes 30/100
dotnet/vscode-csharp#9940 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Bug C#DK
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
dotnet/vscode-csharp#9910 ·
Los mantenedores suelen responder en 1 día
-
aAbiertoC#DK untriaged
Dificultad 3/5 1-2 días Aptitud para principiantes 25/100
dotnet/vscode-csharp#9901 ·
Los mantenedores suelen responder en 1 día
Todos los issues de dotnet/vscode-csharp
Issues similares
-
area: web bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
kinqsradio/orbyn-engineering#227 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
joeldesante/TurfBuilder#258 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
ncecere/open-mcp-portal#85 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 63/100
loathers/garbage-collector#2865 ·
Los mantenedores suelen responder en 1 día
-
test-reliability
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Azure/azure-sdk-for-js#40672 · 1 reacción ·
Los mantenedores suelen responder en 1 día