2011-10-27 15 views
2

使用Mono.Cecil重写VB.NET程序集后,Visual Studio 2010中的“调用堆栈”调试窗口将语言显示为C#而不是VB.NET。是否可以配置Mono.Cecil重写程序集,以便调试器将重写的程序集识别为VB.NET?Can Mono.Cecil可以将调试符号重写为VB.NET吗?

以下Mono.Cecil只是读取并保存程序集而不做任何修改。但是,调试器将新程序集读取为C#而不是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) 

理想的是,将重写的组件是这样VB.NET调试窗口“本地”和“立即窗口”是VB.NET版本,而不是C#的版本。

+1

有趣。我想知道这是否也适用于所有语言,如F#。 – Gabe

回答

1

谢谢你提交这个bug!哦,等等,这是。

无论如何,这绝对看起来像一个错误。

我已经提交它为https://github.com/jbevain/cecil/issues/81,StackOverflow是一个不是很好的bug跟踪器。

+0

谢谢Jb。如果我确定这是一个错误,我会把它作为一个错误提交:-) –

+0

当然:)为了记录,这已经通过更新Cecil从CCI借用的托管PdbReader的副本得到修复,并且支持检测FSharp也已添加。谢谢! –

相关问题