.NET(Mono)は、クロスプラットフォームのファイル操作とクロスプラットフォームのオーディオメタデータ処理(ライブラリを介した)をサポートしていますか?
-
06-07-2019 - |
質問
次のプロジェクトでは、2つの主要なフロントランナーは.NETとJavaです。プロジェクトは、ディレクトリと音楽ファイル(最初はMP3でしたが、最終的に他の音楽形式に拡張された)を含むディレクトリ(WindowsのMy Musicのようなもの)を取得することです。ファイルごとに、ファイルを再生し、メタデータ、ファイル名、場所を表示/編集できます。
Javaには、メタデータの取得/編集とファイル操作のクロスプラットフォームサポートの両方のライブラリがあることがわかっています。また、.NETにはメタデータを処理するためのライブラリがあることも知っていますが、必要なファイル操作についてはわかりません。しかし、特に履歴書に残したいので、私は本当に.NETに戻りたいと思っていますが、.NET 2.0(そして今は3.5です?)以降は使用していません。それについていくと、新しいバージョンの技術についての質問に答えることができなかったので、履歴書に載せても意味がありません。
当初はWindowsが唯一の懸念事項ですが、これをクロスプラットフォームアプリケーションとしてリリースしたいと思います。
注:車輪を再発明していることは知っていますが、これは私が遭遇した問題であり、解決するのは一種の楽しみだと思います。 UIの問題からファイル構造の管理、外部ライブラリなど、多くの問題を処理します。
解決
このトピックの最初の部分のモノの公式ページは、 IOMap です。
Monoには移植性レイヤーが追加されました これらの問題に対処するモノ あなたの変更を必要とせずに コード。これにより、大きな としての移植サイクルのコンポーネント 不快な問題のすべてのクラスは なくなった。
新しい移植性フレームワークは 環境設定により有効化 変数
MONO_IOMAP
(これは おそらく短い名前に変更してください) 次の値のいずれか:
- case:は、すべてのファイルシステムアクセスで大文字と小文字を区別しません。
- drive:は、パス名からドライブ名を削除します。
- all:は、ケースとドライブの両方を有効にします。
さらに、これらのオプションのいずれか 有効になっている、ディレクトリセパレータ マッピングもオンになります。
この機能は1.1.18以降に含まれています。