Заставьте C#. NET MVC работать в MacOS - PullRequest
1 голос
/ 11 февраля 2020

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

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

Ответы [ 3 ]

4 голосов
/ 11 февраля 2020

Самый простой способ - это портировать на. Net Ядро, которое может работать на Ma c и Linux. Обычно это не так много.

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

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

Я сомневаюсь, что есть некоторые " Автоматизированные "решения, хотя, так что вы должны выполнить код и вручную обновить все несовместимые кусочки.

2 голосов
/ 11 февраля 2020

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

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

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

0 голосов
/ 11 февраля 2020

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

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

Вы у вас есть выбор между Tag Helpers и Razor Pages , но ни одно из них не простое решение, и вполне вероятно, что каждый .cshtml файл представления потребует внесения изменений, а затем тестирование.

...