I get this working.
First go to accountViewModels and add a Property for the UserName
Public Class RegisterViewModel
<Required>
<Display(Name:="User Name")>
Public Property UserName As String
<Required>
<EmailAddress>
<Display(Name:="Email")>
Public Property Email As String
After modify your Register view adding the username property
<div class="form-group">
@Html.LabelFor(Function(m) m.UserName, New With {.class = "col-md-2 control-label"})
<div class="col-md-10">
@Html.TextBoxFor(Function(m) m.UserName, New With {.class = "form-control"})
</div>
</div>
<div class="form-group">
@Html.LabelFor(Function(m) m.Email, New With {.class = "col-md-2 control-label"})
<div class="col-md-10">
@Html.TextBoxFor(Function(m) m.Email, New With {.class = "form-control"})
</div>
</div>
Once this is done, modify too your Login view
@Html.ValidationSummary(True, "", New With {.class = "text-danger"})
<div class="form-group">
@Html.Label("User Name", New With {.class = "col-md-2 control-label"})
<div class="col-md-10">
@Html.TextBoxFor(Function(m) m.Email, New With {.class = "form-control"})
@Html.ValidationMessageFor(Function(m) m.Email, "", New With {.class = "text-danger"})
</div>
</div>
<div class="form-group">
@Html.LabelFor(Function(m) m.Password, New With {.class = "col-md-2 control-label"})
<div class="col-md-10">
@Html.PasswordFor(Function(m) m.Password, New With {.class = "form-control"})
@Html.ValidationMessageFor(Function(m) m.Password, "", New With {.class = "text-danger"})
</div>
</div>
That is all you need. This way you can LogIn with the UserName not with the email address.