.NET (Mono) supporta operazioni su file multipiattaforma e la gestione di metadati audio multipiattaforma (tramite librerie)?
-
06-07-2019 - |
Domanda
Per il mio prossimo progetto, i due principali leader sono .NET e Java. Il progetto è di prendere una directory (qualcosa come My Music in Windows) che contenga directory e file musicali (inizialmente gli MP3, ma alla fine si estenda ad altri formati musicali). Per ogni file, ti consentirebbe di riprodurre il file e visualizzarne / modificarne i metadati, il nome e la posizione.
So che Java ha librerie per ottenere / modificare metadati e supporto multipiattaforma per le operazioni sui file. So anche che .NET ha librerie per gestire i metadati, ma non sono sicuro delle operazioni sui file di cui ho bisogno. Tuttavia, voglio davvero tornare a .NET, soprattutto perché voglio mantenerlo sul mio curriculum, ma non lo uso da .NET 2.0 (ed è, cosa, 3.5 ora?) E se non lo faccio continuate così, non ha senso metterlo sul mio curriculum poiché non sono riuscito a rispondere a domande su nuove versioni della tecnologia.
Inizialmente, Windows è la mia unica preoccupazione, ma vorrei rilasciarlo come un'applicazione multipiattaforma.
Nota: so che sto reinventando la ruota, ma questo è un problema che ho riscontrato e penso che sarebbe divertente risolverlo. Si occupa di una serie di problemi, dalle preoccupazioni dell'interfaccia utente alla gestione della struttura dei file alle librerie esterne e altro ancora.
Soluzione
La pagina ufficiale da mono nella prima parte di questo argomento è IOMap .
Mono ora ha un livello di portabilità in Mono che affronterà questi problemi senza richiedere modifiche al tuo codice. Questo rimuoverà un grande componente del ciclo di porting come a tutta una classe di problemi odiosi andata.
Il nuovo framework di portabilità è abilitato impostando l'ambiente variabile
MONO_IOMAP
(che faremo probabilmente rinominare in qualcosa di più breve) in uno dei seguenti valori:
- case: rende insensibile tutto il caso di accesso al file system.
- unità: rimuove il nome dell'unità dai nomi dei percorsi.
- tutto: abilita sia il case che il drive.
Inoltre, se una di queste opzioni sono abilitati, il separatore di directory Anche la mappatura è attivata.
Questa funzionalità è inclusa dall'1.1.18.