Мой опыт работы с GenerateRouteLink был тяжелым сражением. Прошло много времени с тех пор, как я с ней связался, но если я думаю, что этот метод Microsoft сделал его «внутренним», вы не сможете получить к нему доступ и использовать его вне сборки MVC. Есть ряд обходных путей, с которыми я играл и которые мне не очень понравились.
То, что я в итоге сделал, чтобы избежать жесткого кодирования URL-адреса в моих вспомогательных методах, заключается в том, чтобы он принимал параметр 'string url' и использовал Url.Action на мой взгляд, когда я вызываю вспомогательный метод. Это не самый чистый, но это обходной путь, который хорошо сработал для меня.
<%= Html.CreateUserLink("userAcctName", Url.Action("Home", "Controller") %>