2011-09-01 3 views
4

Possible en double:
C# - How to get csc.exe path?Chemin "correct" pour trouver le chemin du compilateur C#?

est-il un moyen "approprié" pour trouver le chemin du compilateur C# sur un système donné?

E.g. pour Java, le "bon" moyen est d'utiliser la clé de registre HKLM\Software\JavaSoft pour passer en revue tous les différents JDK et leurs emplacements, plutôt que de supposer que tout est dans %ProgramFiles%\Java.

Existe-t-il une méthode similaire pour C#?

+0

@Bala: Ah, mon erreur; c'est en effet un doublon. Merci de l'avoir trouvé. – Mehrdad

Répondre

2

Vous pouvez trouver une liste des cadres installés dans: HKLM \ Software \ Microsoft.NetFramework

Et sur le système de fichiers % Windows% \ Microsoft.NET \ Framework

Se souvenir seulement, vous peut accéder aux services du compilateur à travers les classes .net eux-mêmes.

+0

+1 ouais je suppose qu'il n'y a pas beaucoup de façon plus directe de le faire, merci ... – Mehrdad

+0

Jetez un oeil à ceci: http://support.microsoft.com/kb/304655 –

+0

L'article de la base de données fonctionne seulement en supposant que je Je fais cela à partir de C#. Ce qui ne marche pas vraiment parce que je le fais depuis JScript. – Mehrdad

0

Je préfère quelque chose de moins dépendant du système:

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

Cela fonctionne seulement en supposant que je le fais de C#. Ce qui ne marche pas vraiment parce que je le fais depuis JScript. : P – Mehrdad

+0

Oh. Alors pourquoi le tag C#? C'est assez déroutant. – Interarticle

+0

Vraiment? Désolé, la prochaine fois je marquerai des questions sur le compilateur C# avec JScript à la place. – Mehrdad

Questions connexes