2011-09-01 105 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

相關問題