Как это достигается с .NET Core, где MVC и WebAPI - это одно и то же?
В ядре dotnet MVC и WebAPI могут присутствовать в одном проекте.Все приложение похоже на консольное приложение.Вы можете добавить службы MVC в класс запуска, чтобы сделать его приложением MVC.
Должны ли контроллеры / модели / представления MVC быть частью API?
Лучше иметьразличные контроллеры для функций, связанных с MVC и WebAPI, отдельно, сохраняя их в одной папке.
Модели - их можно использовать как для mvc, так и для webapi.То же самое для моделей представлений и DTO.
Представления - только для MVC webapi не требует представлений.
Должно ли это быть новый проект, который прослушивает другой порт?
Да, вы можете создать другой проект для webapi и MVC.
Как аутентификация подходит для обоих (например, API обычно имеют некоторую аутентификацию на основе токена, приложения пользовательского интерфейса обычноесть аутентификация по имени / паролю)?
Если вы используете аутентификацию на основе токенов, то сможете использовать как веб-API, так и MVC.
Если части WebAPI и MVCиспользовать ту же аутентификацию, что и ASP.NET Identity?Не будет ли это тесно связывать два, если они используют одну и ту же базу данных?
Если вы используете ASP.Net Identity с сервером идентификации, то и MVC, и webapi смогут совместно использовать один и тот же механизм аутентификации безмуфта.