С маршрутизацией, выполняемой по имени контроллера (если маршрут не установлен для каждого контроллера / действия), я вижу единственное преимущество использования атрибута ApiVersion в том, что в версиях API используется то же имя контроллера, но в отдельных пространствах имен.
В противном случае правильное использование, которое я нашел, это:
[ApiVersion("2.0"]
[RoutePrefix("api/v{version:apiVersion}/test")]
Я не вижу здесь никакого повышения эффективности или производительности, когда это должно быть применено по всем направлениям, нет разницы в отбрасывании пакета и простом использовании этого:
[RoutePrefix("api/v2.0/test")]
Я могу только предположить, что я упускаю что-то очевидное здесь.