「完全修飾」ルートが必要なときに生成されない状況に陥っています。次のコードは、この問題を示しています。
var junk = Url.Action("Index2", "Reference", new { area = "Admin" });
junk = Url.Action("Index", "Reference", new { area = "Admin", memberID = 47 });
Url.Action() を最初に呼び出すと、/Admin/Reference/Index2が生成されます。2 番目の呼び出しでは/Admin/Referenceが生成されます。これは、"Index" が既定の識別子であるためだと思います。
残念ながら、ルート マッピング (VS2010 で生成されたので変更していません) はもちろん、2 番目のルートをルート領域の Admin コントローラーの Reference メソッドの呼び出しとして処理します。ルート リゾルバが、2 番目のリンクが本当に管理領域の参照コントローラのインデックス ハンドラを対象としていることを認識できる方法はありません。
明らかな回避策の 1 つは、領域内のコントローラーに Index メソッドを持たないことです。しかし、それは醜いようです。より良い/より堅牢なアプローチに興味があります。