当前位置:  开发笔记 > 编程语言 > 正文

获取.NET Framework目录路径

如何解决《获取.NETFramework目录路径》经验,为你挑选了2个好方法。

如何在C#应用程序中获取.NET Framework目录路径?

我引用的文件夹是"C:\ WINDOWS\Microsoft.NET\Framework\v2.0.50727"



1> Milan Gardia..:

可以使用以下方法获取当前.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程序集来自的目录").


接受的答案有3票.这有83个(其中一个是我的).
我相信这是正确的答案,应该是选定的答案.感谢您澄清GetRuntimeDirectory即使在3.0或3.5应用程序上也始终返回2.0文件夹的事实.在大多数情况下,这是正确的行为,您希望访问框架工具,这些工具在2.0(但不在3.0 3.5中).

2> Brian Rudolp..:

一种更简单的方法是包含Microsoft.Build.Utilities程序集和使用

using Microsoft.Build.Utilities;
ToolLocationHelper.GetPathToDotNetFramework(
        TargetDotNetFrameworkVersion.VersionLatest);

推荐阅读
拾味湖
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有