2011-10-27 8 views
2

Mono.CecilでVB.NETアセンブリを書き直した後、Visual Studio 2010の 'Call Stack'デバッグウィンドウでは、VB.NETではなくC#として言語が表示されます。 Mono.Cecilを構成してアセンブリを書き直して、デバッガが書き換えられたアセンブリをVB.NETとして認識できるようにすることは可能ですか?Mono.CecilはデバッグシンボルをVB.NETとして書き換えることができますか?

次のMono.Cecilは、変更を加えずに単にアセンブリを読み取り、保存します。ただし、デバッガはVB.NETではなくC#として新しいアセンブリを読み取ります。

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

Dim appToRewrite = AssemblyDefinition.ReadAssembly(
    appToRewriteExe, 
    readerParameters 
) 

appToRewrite.Write(appToRewriteExe, writerParameters) 

デバッグウィンドウ「ローカル」と「イミディエイトウィンドウ」はVB.NETのバージョンではなく、C#のバージョンになるように書き換えアセンブリがVB.NETをされることが望ましいです。

+1

興味深い。これがF#のようなすべての言語で起こるのだろうかと思います。 – Gabe

答えて

1

このバグを提出していただきありがとうございます。ああ待って、これはそうです。

とにかく、間違いなくバグのようです。

私はhttps://github.com/jbevain/cecil/issues/81として提出しました。StackOverflowはあまり大きなバグトラッカーではありません。

+0

ありがとうJb。 –

+0

確かに:)これは、CecilがCCIから借用したマネージドPdbReaderのコピーを更新し、これをサポートすることで修正されました。 FSharpの検出も追加されました。ありがとう! –

関連する問題