В моем следующем проекте двумя ведущими лидерами являются .NET и Java. Проект состоит в том, чтобы взять каталог (что-то вроде My Music в Windows), содержащий каталоги и музыкальные файлы (изначально MP3, но со временем расширился до других музыкальных форматов). Для каждого файла это позволит вам воспроизвести файл и просмотреть / отредактировать его метаданные, имя файла и местоположение.
Я знаю, что в Java есть библиотеки как для получения / редактирования метаданных, так и для кроссплатформенной поддержки файловых операций. Я также знаю, что в .NET есть библиотеки для работы с метаданными, но я не уверен, какие файловые операции мне нужны. Тем не менее, я действительно хочу вернуться в .NET, тем более что я хочу сохранить его в своем резюме, но я не использовал его с .NET 2.0 (и это, что, 3.5 сейчас?), И если я не буду не отставайте, нет смысла помещать это в свое резюме, так как я не мог ответить ни на какие вопросы о новых версиях технологии.
Изначально меня беспокоила только Windows, но я хотел бы выпустить ее как кроссплатформенное приложение.
Примечание. Я знаю, что изобретаю велосипед заново, но это проблема, с которой я столкнулся, и я думаю, что ее было бы весело решить. Он решает ряд проблем, от проблем пользовательского интерфейса до управления файловой структурой, внешних библиотек и т. д.




Официальная страница от mono по первой части этой темы - IOMap.
Mono now has a portability layer into Mono that will address those problems without requiring changes to your code. This will remove a large component of the porting cycle as a whole class of obnoxious problems are gone.
The new portability framework is enabled by setting the environment variable
MONO_IOMAP(which we will likely rename to something shorter) to one of the following values:
- case: makes all file system access case insensitive.
- drive: strips drive name from pathnames.
- all: enables both case and drive.
In addition, if any of those options are enabled, the directory separator mapping is also turned on.
Эта функция включена с 1.1.18.