0

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

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

4

1 回答 1

2

这应该适用于两个平台:

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

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

于 2012-10-13T00:30:49.143 回答