“正确”的方式找到C#编译器的路径?

时间:2011-09-01 03:19:37

标签: c# windows compiler-construction registry csc

  

可能重复:
  C# - How to get csc.exe path?

是否有“正确”的方法在给定系统上找到C#编译器的路径?

E.g。对于Java,“正确”的方法是使用HKLM\Software\JavaSoft注册表项遍历所有不同的JDK及其位置,而不是假设所有内容都在%ProgramFiles%\Java中。

C#有类似的方法吗?

2 个答案:

答案 0 :(得分:2)

您可以在以下位置找到已安装框架的列表: HKLM \ SOFTWARE \ Microsoft.NetFramework

在文件系统%Windows%\ Microsoft.NET \ Framework

仅记住,您可以通过.net类本身访问编译器服务。

答案 1 :(得分:0)

我更喜欢不依赖系统的东西:

string cscPath = System.IO.Path.Combine(System.IO.Path.GetDirectoryName(typeof(object).Assembly.Location),"csc.exe");