`DebuggerTypeProxy` generates an invalid expression when runtime and static types differ
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 45/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Tranquilla
- Stack tecnologico
- csharp, typescript, vscode
- Ambito
- devtools
Direzione di ricerca
Esegui la riproduzione C# fornita in VS Code e ispeziona i percorsi del debugger utilizzati da Copy Value e Copy as Expression per un DebuggerTypeProxy i cui tipi runtime e statico differiscono. Il lavoro è completato quando Copy Value restituisce Value e Copy as Expression include il cast Derived richiesto nell’espressione DebugProxy generata.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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 |
- Lingua principale
- TypeScript
- Stelle
- 3.1k
- Fork
- 740
- Merge medio
- 1g 3h
- PR unite (30g)
- 52
Preparare l'ambiente
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di dotnet/vscode-csharp
-
Remove temporary .NET 11 CI container digest pinForse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. ApertaInfrastructure Test
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
dotnet/vscode-csharp#9791 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Error in project blazorApertaC#DK untriaged
Difficoltà 3/5 1-2 giorni Idoneità per principianti 25/100
dotnet/vscode-csharp#9911 ·
I maintainer di solito rispondono entro 1 giorno
-
reporteApertaC#DK untriaged
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
dotnet/vscode-csharp#9910 ·
I maintainer di solito rispondono entro 1 giorno
-
aApertaC#DK untriaged
Difficoltà 3/5 1-2 giorni Idoneità per principianti 25/100
dotnet/vscode-csharp#9901 ·
I maintainer di solito rispondono entro 1 giorno
-
Debugger untriaged
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
dotnet/vscode-csharp#9891 · 6 commenti ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di dotnet/vscode-csharp
Issue simili
-
[good first issue, hacktoberfest] 🏯 Hacktoberfest Task - Add new Japan Fact 898 (good-first-issue)Apertacommunity first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 86/100
lingdojo/kana-dojo#33145 · 1 commento · 5 reazioni ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
code-yeongyu/senpi#4278 ·
I maintainer di solito rispondono entro 1 giorno
-
[Bug] Activity | The activity list ignores taskIds and returns the activities of every taskForse già presa @NdekoCode l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
ever-co/ever-gauzy#11469 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
griffinwork40/agent-afk#4408 ·
I maintainer di solito rispondono entro 1 giorno