Да, это возможно. Если вы разработали приложение достаточно хорошо, должно быть относительно легко преобразовать приложение Win Forms в приложение веб-форм, просто заменив слой пользовательского интерфейса и заменив его. Вы повторно используете уровни логики и данных (в которых все функциональные возможности будут).
Очевидно, что вам нужно написать новый уровень пользовательского интерфейса с нуля, но если логический уровень написан хорошо достаточно, чтобы не было слишком много работы по сравнению с записью всего приложения с нуля.
Однако есть некоторые ошибки, даже если у вас очень хорошо написанное приложение. Логический уровень может принимать заявленное состояние, и в этом случае он может полагаться на ленивую загрузку. В веб-приложении у вас есть модель без состояния, которая выполняется по запросам и ответам. В этом случае вы точно знаете, что вам нужно, и можете загружать только нужные вам биты, а не другие вещи, которые могут понадобиться позже ... потому что позже будет другой цикл запроса / ответа и все данные, которые вы собирать сейчас будет удалено, как только будет завершен текущий ответ.
Недавно я поставил логику приложения, которое изначально было WinForms в MVC, и самый большой барьер для получения быстродействующей скорости заключается в том, что, хотя и достаточно хорошо написанный, логический слой принял среду с сохранением состояния. Это же приложение также переписано для WPF (другая среда с сохранением состояния) без большого количества проблем.
Так как VisualStudio был обновлен теперь (2019). Можно примерить этот метод: