【问题标题】:How to determine the Mono root directory under Windows and/or Linux?如何确定 Windows 和/或 Linux 下的 Mono 根目录?
【发布时间】:2012-10-02 23:17:54
【问题描述】:

我有一个需要在 Mono 下运行的 .NET 库,为了正常工作,我需要确定 Mono 安装的路径。 Mono 文档中提到了一个 MONO_HOME 环境变量,但是在为 Windows 安装 Mono 之后,没有设置这个变量,所以它看起来并不可靠。它在 Linux 上可靠吗?除了要求我的库的用户正确手动设置 MONO_HOME 以使事情正常工作之外,我在 Windows 上还有其他选择吗?

我需要一种方法来确定框架程序集的所有 Mono 版本的位置,因为我的库基本上完成了 Visual Studio 的工作(加载解决方案和项目,根据指定的目标框架版本从框架程序集中加载元数据等)。

【问题讨论】:

  • 如果一切都失败了,您是否考虑过进行文件/文件夹搜索?

标签: windows mono


【解决方案1】:

这应该适用于两个平台:

    var corlibDir = new DirectoryInfo (Path.GetDirectoryName (typeof (int).Assembly.Location)).Parent.Parent.Parent.FullName;

另见Environment.cs 中的私有GacPath 属性,这就是它在Windows 上的计算方式。我也刚刚在我的 Mac 上尝试过,它返回了正确的安装目录。

【讨论】:

  • 谢谢-应该可以!我认为“MONO_HOME”只是我在网上绊倒的一个愚蠢的例子,无论如何,它从来都不是一个有效的东西。不过,对于 Mono 来说,设置一个指向安装根目录的标准环境变量似乎是个好主意……
猜你喜欢
  • 2015-08-21
  • 2014-12-18
  • 2012-12-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多