如何获取.NET Framework目录路径?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (683)

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

我提到的文件夹是“C:\ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727”

提问于
用户回答回答于

通过使用以下方法可以获取当前.NET应用程序活动的CLR安装目录的路径:

System.Runtime.InteropServices.RuntimeEnvironment.GetRuntimeDirectory()

强烈建议不要直接阅读注册表。例如,当.NET应用程序在64位系统中运行时,CLR可以从“C:\ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727”(AnyCPU,x64编译目标)或从“C:\ Windows \ Microsoft.NET \ Framework \ v2.0.50727“(x86编译目标)。读取注册表不会告诉哪个目录被当前CLR使用。

另一个重要的事实是,对于.NET 2.0,.NET 3.0和.NET 3.5应用程序,“当前的CLR”将为“2.0”。这意味着GetRuntimeDirectory()调用将返回2.0目录,即使在.NET 3.5应用程序(从3.5目录加载它们的某些程序集)内也是如此。根据对术语“.NET Framework目录路径”的解释,GetRuntimeDirectory可能不是正在查找的信息(“CLR目录”与“3.5程序集来自的目录”)。

用户回答回答于

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

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

所属标签

可能回答问题的人

  • 腾讯云数据库 TencentDB

    腾讯云 · 产品团队 (已认证)

    302 粉丝2 提问51 回答
  • EatRice

    17 粉丝0 提问183 回答
  • 华讯云

    1 粉丝0 提问156 回答
  • 成都加米谷大数据

    11 粉丝0 提问16 回答

扫码关注云+社区

领取腾讯云代金券