2011-10-27 1 views
2

Après avoir réécrit un assembly VB.NET avec Mono.Cecil, la fenêtre de débogage 'Call Stack' de Visual Studio 2010 affiche la langue en C# et non en VB.NET. Est-il possible de configurer Mono.Cecil pour réécrire un assembly afin que le débogueur reconnaisse l'assembly réécrit comme VB.NET?Est-ce que Mono.Cecil peut réécrire les symboles de débogage comme VB.NET?

Le Mono.Cecil suivant lit et enregistre simplement un assemblage sans modification. Toutefois, le débogueur lit le nouvel assembly en tant que C# au lieu de VB.NET.

Dim readerParameters = New ReaderParameters() With {.ReadSymbols = True} 
Dim writerParameters = New WriterParameters() With {.WriteSymbols = True} 

Dim appToRewrite = AssemblyDefinition.ReadAssembly(
    appToRewriteExe, 
    readerParameters 
) 

appToRewrite.Write(appToRewriteExe, writerParameters) 

Il est souhaitable que l'Assemblée réécrite pour être VB.NET de sorte que les fenêtres de débogage de la section locale »et « Fenêtre immédiate » sont les versions VB.NET plutôt que les versions C#.

+1

Intéressant. Je me demande si cela se produit pour toutes les langues, comme F #, aussi. – Gabe

Répondre

1

Merci d'avoir déposé ce bogue! Oh attends, c'est SO.

Quoi qu'il en soit, cela ressemble vraiment à un bug.

Je l'ai classé comme https://github.com/jbevain/cecil/issues/81, StackOverflow étant un bug tracker pas si grand.

+0

Merci Jb. Je l'aurais classé comme un bug si j'étais sûr que c'était ce que c'était :-) –

+0

Bien sûr :) Pour l'enregistrement, cela a été corrigé en mettant à jour la copie du PdbReader géré que Cecil emprunte à la CCI, et le support pour la détection de FSharp a été ajoutée également. Merci! –

Questions connexes