Tag: ilasm

无论.NET版本/环境如何,保证找到ildasm.exe和ilasm.exe文件的文件路径的方法?

有没有办法以编程方式获取ildasm.exe / ilasm.exe可执行文件的FileInfo / Path? 我正在尝试反编译并重新编译一个dll / exe文件后对其进行一些修改(我猜测PostSharp会做类似的事情,在编译后改变IL)。 我发现了一篇博文,指出: var pfDir = Environment.GetFolderPath(Environment.SpecialFolders.ProgramFiles)); var sdkDir = Path.Combine(pfDir, @”Microsoft SDKs\Windows\v6.0A\bin”); … 但是,当我运行此代码时,目录不存在(主要是因为我的SDK版本是7.1),因此在我的本地计算机上正确的路径是@”Microsoft SDKs\Windows\v7.1\bin” 。 我怎样才能确保我能找到ildasm.exe? 同样,我发现了另一篇关于如何访问ilasm.exe的博文: string windows = Environment.GetFolderPath(Environment.SpecialFolder.System); string fwork = Path.Combine(windows, @”..\Microsoft.NET\Framework\v2.0.50727″); … 虽然这有效,但我注意到我有Framework和Framework64,而在Framework本身中我拥有v4.0.30319的所有版本(与Framework64相同)。 那么,我怎么知道使用哪一个? 它应该基于我正在瞄准的.NET Framework版本吗? 摘要: 我如何保证找到到ildasm.exe的正确路径? 如何正确选择正确的ilasm.exe进行编译?