4

可能重复:
C# - 如何获取 csc.exe 路径?

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

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

C#有类似的方法吗?

4

2 回答 2

2

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

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

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

于 2011-09-01T03:26:09.943 回答
0

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

string cscPath = System.IO.Path.Combine(System.IO.Path.GetDirectoryName(typeof(object).Assembly.Location),"csc.exe");
于 2011-09-01T03:29:14.127 回答