找到 C# 编译器路径的“正确”方法? [重复]

问题描述 投票:0回答:2

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

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

例如对于 Java,“正确”的方法是使用

HKLM\Software\JavaSoft
注册表项来遍历所有不同的 JDK 及其位置,而不是假设所有内容都在
%ProgramFiles%\Java
中。

C#有类似的方法吗?

c# windows registry csc
2个回答
2
投票

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

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

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


0
投票

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

string cscPath = System.IO.Path.Combine(System.IO.Path.GetDirectoryName(typeof(object).Assembly.Location),"csc.exe");
© www.soinside.com 2019 - 2024. All rights reserved.