【问题标题】:How do I find the .NET Framework Path? [duplicate]如何找到 .NET Framework 路径? [复制]
【发布时间】:2014-10-16 22:57:18
【问题描述】:

在我的程序中,我当前对路径“C:\Windows\Microsoft.NET\Framework64\v4.0.30319”进行了硬编码。我需要它来动态加载 DLL 仅用于反射。

是否有我可以用来避免硬编码的注册表项或环境值?

【问题讨论】:

  • 显然HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework 有一个InstallRoot 键。
  • 我确信可能有更好的方法来做你想做的任何事情;目前尚不清楚您要完成什么,但您需要在 .NET 框架程序集上使用反射似乎很奇怪......
  • @AndrewCounts 使用仅反射程序集加载时,您需要考虑搜索路径。否则它将不知道您是否需要 .NET 或 Silverlight 或 [...] 版本的程序集。

标签: c#


【解决方案1】:
Path.GetDirectoryName(
    new Uri(Assembly.GetAssembly(typeof(string)).CodeBase).LocalPath)

【讨论】:

    【解决方案2】:

    你可以使用RuntimeEnvironment.GetRuntimeDirectory方法:

    // Show the path where the CLR was loaded from.
    Console.WriteLine("Runtime directory: {0}", RuntimeEnvironment.GetRuntimeDirectory());
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-24
      • 2010-09-27
      • 2010-10-22
      • 2014-08-16
      • 2010-11-25
      • 1970-01-01
      • 2011-05-03
      • 2011-08-26
      相关资源
      最近更新 更多