2011-09-01 104 views
4

可能重复:
C# - How to get csc.exe path?“正确”的方式来找到C#编译器的路径?

是否有一个 “正确” 的方式来找到一个给定系统上的路径,C#编译器?

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

C#有没有类似的方法?

+0

@Bala:啊,我的错误;这确实是重复的。感谢您找到它。 – Mehrdad

回答

2

你可以找到一个列表安装框架中: HKLM \ SOFTWARE \ Microsoft.NetFramework

和文件系统上%WINDOWS%\ Microsoft.NET \框架

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

+0

+1是啊,我想没有多少更直接的方式来做到这一点,谢谢... – Mehrdad

+0

看看这个:http://support.microsoft.com/kb/304655 –

+0

KB文章只适用于假设我从C#做这件事。这并不是真正的工作,因为我是从JScript这样做的。 – Mehrdad

0

我喜欢的东西较少依赖系统:

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

这只适用于假设我从C#这样做。这并不是真正的工作,因为我是从JScript这样做的。 :P – Mehrdad

+0

哦。那么为什么C#标签?这很混乱。 – Interarticle

+0

真的吗?对不起,下次我将使用JScript标记关于C#编译器的问题。 – Mehrdad

相关问题