是否有可能确定.NET程序集的编写语言是什么?

时间:2010-08-05 01:01:44

标签: .net

如果源代码不可用,是否有方法确定.NET程序集的原始语言?

3 个答案:

答案 0 :(得分:8)

不是,但你有时可以猜一猜。

例如,如果你有一个包含匿名类型的VB.NET程序集,程序集中编译器生成的名称将如下所示:

VB$AnonymousType_T<T0, T1>

C#程序集中的匿名类型如下所示:

<>f__AnonymousType0<....>

不同的编译器会实现这些略有不同的东西。 C ++ / CLI程序集在程序集中往往有很多类型,带有“有趣”的名称(对于属于全局作用域的函数等等)。

Visual Basic应用程序还引用了Microsoft.VisualBase程序集(尽管任何.NET应用程序在技术上都可以引用任何程序集,因此这不是100%指标。)

答案 1 :(得分:2)

您可以通过查看它引用的程序集来猜测。例如,如果您看到Microsoft.CSharpMicrosoft.VisualBasic中的一个,则可能会给您一个很大的提示。

答案 2 :(得分:1)

不是真的,因为它们都是粗略地编译成同一个IL。