如何在.NET 4.0中以编程方式查找ILASM.EXE?

时间:2011-02-27 06:28:28

标签: .net

我的程序需要致电ILASM,但它继续向我发展。是否存在我的程序可以读取的注册表设置或其他值,因此我不需要对路径进行硬编码?

3 个答案:

答案 0 :(得分:5)

从SDK Microsoft.Build.Utilities命名空间,ToolLocationHelper class可以像这样使用:

using Microsoft.Build.Utilities; 

// Use ToolLocationHelper to find ILASM.EXE in the Framework directory
ToolLocationHelper.GetPathToDotNetFrameworkFile("ILAsm.exe", TargetDotNetFrameworkVersion.VersionLatest);

取自MSDN sample

答案 1 :(得分:2)

似乎有一些库像人们推荐的ILAsm一样:

  1. http://research.microsoft.com/en-us/downloads/6a34a558-ab57-424f-a799-f0fc458105c1/default.aspx
  2. http://www.microsoft.com/downloads/en/details.aspx?familyid=7e979ed3-416b-43b6-993b-308a160831b6&displaylang=en
  3. 您可能希望使用这些(或CodeDom - > C#),而不是呼叫程序。

答案 2 :(得分:1)

HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft.NETFramework,查找InstallRoot。将.net版本号添加到InstallRoot的路径中,你就可以了。