0

Monoで実行する必要のある.NETライブラリがあります。正しく機能するには、Monoインストールのパスを決定する必要があります。MonoのドキュメントにはMONO_HOME環境変数が記載されていますが、Mono for Windowsをインストールした後、この変数は設定されていないため、信頼性が低いようです。Linuxで信頼できますか?物事が機能するために、ライブラリのユーザーに手動でMONO_HOMEを正しく設定することを要求する以外に、Windowsに代替手段はありますか?

私のライブラリは基本的にVisualStudioが行うこと(ソリューションとプロジェクトの読み込み、指定されたターゲットフレームワークのバージョンに応じてフレームワークアセンブリからのメタデータの読み込みなど)を行うため、フレームワークアセンブリのすべてのMonoバージョンがどこにあるかを判断する方法が必要です。

4

1 に答える 1

2

これは両方のプラットフォームで機能するはずです。

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

環境.csのプライベートGacPathプロパティも参照してください。これは、Windowsでの計算方法です。Macでもこれを試したところ、正しいインストールディレクトリが返されました。

于 2012-10-13T00:30:49.143 に答える