попробую на JS- он правда смущает своей некоторой расхлябанностью после C#. Хотя авторам наверно кажется что объявлять переменные по ходу действия и складывать 2+"2" - это проще для новичков
А на C# 2 + "2" нельзя сделать, да?
Если так от шарпа плющит, в сторону Xamarin не смотрели?
1. На сервер все файлы закидывать не надо. Собранный проект как раз-таки в папке dist.
2. "npm run dev" - это вы запускаете webpack dev server, который нужен исключительно для разработки.
3. Настройте какой-нибудь сервер, например Nginx, который будет обслуживать ваш фронт - и порядок.
P.S. Зачем серверную и клиентскую части запихали в один проект?
Если делаете многостраничный сайт - роутинг Vue вам не нужен, пользуйтесь роутингом Express. Если же у вас SPA, то роутинг берет на себя клиент. Т.е., используете что-то одно.