如何在C#应用程序中获取.NET Framework目录路径?
我引用的文件夹是"C:\ WINDOWS\Microsoft.NET\Framework\v2.0.50727"
可以使用以下方法获取当前.NET应用程序活动的CLR的安装目录的路径:
System.Runtime.InteropServices.RuntimeEnvironment.GetRuntimeDirectory()
我强烈建议不要直接阅读注册表.例如,当.NET应用程序在64位系统中运行时,可以从"C:\ Windows\Microsoft.NET\Framework64\v2.0.50727"(AnyCPU,x64编译目标)或"C:\"加载CLR. Windows\Microsoft.NET\Framework\v2.0.50727"(x86编译目标).阅读注册表不会告诉您当前CLR使用了哪两个目录.
另一个重要的事实是,对于.NET 2.0,.NET 3.0和.NET 3.5应用程序,"当前的CLR"将是"2.0".这意味着即使在.NET 3.5应用程序(从3.5目录加载它们的一些程序集)中,GetRuntimeDirectory()调用也将返回2.0目录.根据您对术语".NET Framework目录路径"的解释,GetRuntimeDirectory可能不是您要查找的信息("CLR目录"与"3.5程序集来自的目录").
一种更简单的方法是包含Microsoft.Build.Utilities程序集和使用
using Microsoft.Build.Utilities; ToolLocationHelper.GetPathToDotNetFramework( TargetDotNetFrameworkVersion.VersionLatest);