Windows用の.NETライブラリをMonoを使用してUbuntu 11.04に移植しようとしています。ライブラリは.NET 4.0を使用しているため、Ubuntu 11.04の標準であるmono(2.6.7)のバージョンはそれを切断しません。具体的には、Microsoft.VisualBasic.Devices.Computer.Info.TotalPhysicalMemoryを使用しようとしています。私は、Microsoft.VisualBasic.dllをインストールするパッケージや並列ビルドスクリプトについては、高値と低値を検索しましたが、どれも実行しません。Mono 2.10用Microsoft.VisualBasic.dllを取得できません
理想的には、コードを変更する必要がないように、.NET 4.0サポートとMicrosoft.VisualBasicの両方の世界を最大限に活用する方法を見つけることが理想的です。私は別の方法を使用する代わりに解決する(ただし、私はthisで見たP/Invokeメソッドは以前の投稿は私に魅力がない)。
ご協力いただきまして誠にありがとうございます。
なぜTotalPhysicalMemoryが必要ですか?アプリケーションは、物理メモリのサイズを知っている必要はありません。それは診断のためだけですか?プロパティに対する依存関係を削除するか、またはLinux固有の方法でLinuxシステム上のメモリサイズを調べることができます。 LinuxはWin32ではないので、Win32 APIを呼び出すことは役に立ちません。 – dtb
私はTotalPhysicalMemoryを使用するコードを記述しませんでした。これはCudafy.NETライブラリのもので、GPUをエミュレートしてデバイスのプロパティを設定するときに使用します。 – jalane
Cudafy.NETはMonoと連携するように設計されていないようです。 Microsoft.VisualBasicアセンブリへの依存はおそらく氷山の一角に過ぎません。 Monoで動作する別のライブラリを探すか、Cudafy.NET開発者に連絡してMonoのサポートを依頼してください。 – dtb