如何确定Windows和/或Linux下的Mono根目录?

时间:2012-10-12 07:11:47

标签: windows mono

我有一个需要在Mono下运行的.NET库,为了正常工作,我需要确定Mono安装的路径。 Mono docs提到了一个MONO_HOME环境变量,但是在安装Mono for Windows之后,这个变量没有设置,因此它似乎不可靠。它在Linux上可靠吗?除了要求我的图书馆用户手动正确设置MONO_HOME以便工作正常之外,我还有其他办法吗?

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

1 个答案:

答案 0 :(得分:2)

这应该适用于两个平台:

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

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