Поэтому моя компания просит меня изменить приложение, которое они купили у внештатного разработчика, для запуска его в MacOS, потому что оно может работать только в Windows. Приложение сделано с использованием .Net MVC, а не .Net Core MVC. Есть ли способ, где я мог бы перенести коды в другую платформу, которая может создать приложение для MacOS практически без изменений в кодах?

Извините за мою грамматику. Спасибо за чтение.

1
jerichoreyes29 11 Фев 2020 в 14:23

3 ответа

Лучший ответ

Самый простой способ - это портировать на .Net Core, который может работать на Mac и Linux. Обычно это сравнительно небольшая работа.

Конечно, это зависит от пакетов и технологий, используемых в вашем приложении, но простое приложение MVC, которое не использует слишком много пакетов, недоступных в Net Standard, и не использует определенные функции Windows и т. Д., Должно подойти.

Наверняка есть много рекомендаций о том, как портировать mvc на asp.net core mvc.

Я сомневаюсь, что есть некоторые «автоматизированные» решения, поэтому вам нужно выполнить код и вручную обновить все несовместимые фрагменты.

4
Ilya Chernomordik 11 Фев 2020 в 11:27

Я предлагаю вам также взглянуть на проблему с точки зрения затрат / возможностей и рассмотреть дополнительные сценарии, такие как запуск процесса Windows на виртуальной машине или запуск сеансов удаленного рабочего стола. Вам нужно будет ответить на такие вопросы, как:

  • Почему они отказываются от Windows в пользу macOS?
  • Насколько велика база пользователей macOS по сравнению с базой кода Windows?
  • Сколько стоит портирование существующего приложения?
  • Должны ли мы поддерживать оба приложения?
  • Какова стоимость обслуживания обоих приложений?
  • Какова стоимость предоставления решения на основе виртуальной машины?
  • Какова стоимость предоставления решения для удаленного рабочего стола?

Тем не менее, существуют возможности портирования, которые вы могли бы изучить как в мире .NET, так и за его пределами, но ИМХО будет трудно удовлетворить требование «практически никаких изменений кода».

2
phuzi 11 Фев 2020 в 11:38

Как уже указывалось, единственный способ запустить .Net в MacOS - это .Net Core, однако маловероятно, что это будет возможно с «небольшими изменениями или изменениями кода».

Хотя, конечно, это зависит , по моему опыту, приложения MVC труднее всего переносить, так как в отличие от WebApi и библиотек классов, в способе отображения представлений произошли существенные изменения.

У вас есть выбор между Помощники по тегам и Razor Pages, но это не простое решение, и вполне вероятно, что для каждого .cshtml файла представления потребуется внесение изменений, а затем тестирование.

0
ste-fu 11 Фев 2020 в 12:15