我想確定用於創建特定程序集的語言(C#,VB,無論什麼)。確定用於創建程序集的語言和編譯器?
我也想確定編譯器(MS單聲道)。
裝配中似乎沒有任何信息。有關Ecma-335分區II中程序集標題的部分沒有提及任何有用的內容。
我想知道在程序集中是否有指紋可以顯示「aha這是C#/ c#編譯器非常特別的東西,您是用C#編寫的!」
這對了解我正在寫的靜態分析工具很有用。
我想確定用於創建特定程序集的語言(C#,VB,無論什麼)。確定用於創建程序集的語言和編譯器?
我也想確定編譯器(MS單聲道)。
裝配中似乎沒有任何信息。有關Ecma-335分區II中程序集標題的部分沒有提及任何有用的內容。
我想知道在程序集中是否有指紋可以顯示「aha這是C#/ c#編譯器非常特別的東西,您是用C#編寫的!」
這對了解我正在寫的靜態分析工具很有用。
這是設計,一個程序集存儲元數據和IL,語言中立的信息。以便您可以輕鬆混合和匹配以不同語言編寫的代碼。非常好的.NET功能。
雖然提示。 VB.NET程序員可能會使用VB.NET特定的語言功能,這些功能是在.NET框架的輔助程序集中實現的。像我的命名空間和轉換運算符(如CType)一樣。用Ildasm.exe打開程序集並查看.assembly指令的清單。如果你看到一個用於Microsoft.VisualBasic的話,那麼寫入VB.NET的可能性非常高。如果它丟失了,那麼C#的可能性很大,但不是確定性的。如果您查看班級列表並在頂部看到<CppImplementationDetails>
,那麼您肯定知道它是用C++/CLI編寫的。
請確保你實際上不關心這一點。
我知道這已被問過,但無法找到問題。 – Stefan 2010-07-31 14:48:06
在彙編中,您只會看到MSIL(Microsoft中間語言) - 我不認爲有任何記錄的方式可以找出創建MSIL的語言,真的(除了尋找特定的模式,您知道C#或VB .NET或F#或任何創建它們與其他語言區分) – 2010-07-31 14:49:28
另外:**爲什麼**你需要這個,真的嗎?你想用這個完成什麼? – 2010-07-31 14:49:55