Не обязательно, но лучше всего так сделать.
Причина- ни когда не знаешь будут ли эти библиотеки на сервере… если нет- это пол беды, просто не запустится проект. Хуже, если там будут не той версии и проект загрузится, но будет вываливаться в произвольных местах.
По этому всегда рекомендуется ставить mvc4 из nuget и таскать с собой все свои зависимости.
Дополнительно рекомендуют прописывать точные версии в разделе конфига runtime… Т.к. среда исполнения может не ту версию библиотеки посдтавить. Я осенью с этим уже веселился. Пришлось версии всех сборок загруженых в IIS процесс сверять и в итоге найти, что сборка system.web.razor была не той версии.
В общем- лучше все свое носить с собой, ни когда не знаешь что есть на хосте