Я еще не должен был писать межплатформенные приложения в C#. Однако каждый раз я приезжаю для работы с путями и т.д., я всегда задаюсь вопросом, какие вещи я должен делать для создания моей жизни легче, должен, я должен пересечь компиляцию к Моно.
Я понимаю, что GUI мог быть проблемой. Я хотел бы попытаться использовать хорошие кросс-платформенные методы в своем нормальном кодировании Windows, если это возможно.
Любые проблемы ADO должны не упустить?
С какими проблемами люди столкнулись и как они разрешены?
Запустите все через MOMA после того, как вы его написали. Он будет идентифицировать вас любые конструкции, которые не являются независимой платформой или не реализованы в мононеменной среде.
Дополнительно скомпилируйте как с MSBUILD, так и для компилятора MONO .NET.
Использование path.combine и encile.neewline - пара с вершины моей головы.
Избегайте только в Windows Construct (WMI и такое), которые не имеют аналога Linux / Unix.
Описанная логика (login-redirect) должна быть реализована посредством механики фильтра. Также вы можете попробовать стандартные правила навигации jsf (если это подходит вам). И если вы по-прежнему хотите отправить перенаправление на пользовательский URL-адрес и не хотите использовать фильтры, сделайте это в сервлете в фазе рендеринга, а не в компоненте jsf.
-121--4214471-Запустить все через MOMA после написания. Он определит любые конструкции, которые не являются независимыми от платформы или не реализованы в среде выполнения Mono.
Дополнительная компиляция с помощью MSBuild и компилятора mono .net.
Использование Path.Combine и Environment.NewLine - это пара с верхней части моей головы.
Избегайте построения только окон (WMI и т.п.), не имеющих аналога linux/unix.
-121--4407649-Path.Combine springs to mind.
Руководство: Использование _ переносимость может быть полезным
Если вы создаете свое приложение, используя MONO в среде Windows, используя GTK # , то он должен работать на всех платформах, поскольку он не будет использовать какие-либо из библиотек .NET, которые Не доступны под моно, а также не будет использовать какие-либо из библиотек MONO / GTK #, которые не поддерживаются в Windows.
Если вы визуальный студийный пользователь, взгляните на Mono Tools для VS Package.