Поэтому моя компания просит меня изменить приложение, которое они купили у внештатного разработчика, для запуска его в MacOS, потому что оно может работать только в Windows. Приложение сделано с использованием .Net MVC, а не .Net Core MVC. Есть ли способ, где я мог бы перенести коды в другую платформу, которая может создать приложение для MacOS практически без изменений в кодах?
Извините за мою грамматику. Спасибо за чтение.
3 ответа
Самый простой способ - это портировать на .Net Core, который может работать на Mac и Linux. Обычно это сравнительно небольшая работа.
Конечно, это зависит от пакетов и технологий, используемых в вашем приложении, но простое приложение MVC, которое не использует слишком много пакетов, недоступных в Net Standard, и не использует определенные функции Windows и т. Д., Должно подойти.
Наверняка есть много рекомендаций о том, как портировать mvc на asp.net core mvc.
Я сомневаюсь, что есть некоторые «автоматизированные» решения, поэтому вам нужно выполнить код и вручную обновить все несовместимые фрагменты.
Я предлагаю вам также взглянуть на проблему с точки зрения затрат / возможностей и рассмотреть дополнительные сценарии, такие как запуск процесса Windows на виртуальной машине или запуск сеансов удаленного рабочего стола. Вам нужно будет ответить на такие вопросы, как:
- Почему они отказываются от Windows в пользу macOS?
- Насколько велика база пользователей macOS по сравнению с базой кода Windows?
- Сколько стоит портирование существующего приложения?
- Должны ли мы поддерживать оба приложения?
- Какова стоимость обслуживания обоих приложений?
- Какова стоимость предоставления решения на основе виртуальной машины?
- Какова стоимость предоставления решения для удаленного рабочего стола?
Тем не менее, существуют возможности портирования, которые вы могли бы изучить как в мире .NET, так и за его пределами, но ИМХО будет трудно удовлетворить требование «практически никаких изменений кода».
Как уже указывалось, единственный способ запустить .Net в MacOS - это .Net Core, однако маловероятно, что это будет возможно с «небольшими изменениями или изменениями кода».
Хотя, конечно, это зависит , по моему опыту, приложения MVC труднее всего переносить, так как в отличие от WebApi и библиотек классов, в способе отображения представлений произошли существенные изменения.
У вас есть выбор между Помощники по тегам и Razor Pages, но это не простое решение, и вполне вероятно, что для каждого .cshtml
файла представления потребуется внесение изменений, а затем тестирование.
Похожие вопросы
Новые вопросы
c#
C # (произносится как «резкий») - это высокоуровневый, статически типизированный язык программирования с несколькими парадигмами, разработанный Microsoft. Код C # обычно нацелен на семейство инструментов и сред выполнения Microsoft .NET, включая, среди прочего, .NET Framework, .NET Core и Xamarin. Используйте этот тег для вопросов о коде, написанном на C # или в формальной спецификации C #.