Preheat oven to 300 degrees. Place hazelnuts on a parchment-lined baking sheet and transfer to the oven to toast for 10 to 15 minutes. Immediately transfer warm hazelnuts to the center of a clean kitchen towel. Wrap the kitchen towel around the hazelnuts and rub them vigorously until all of the skins have fallen off. (A little bit of skin staying on is normal and totally fine.) Set nuts aside to cool.
Meanwhile, add the large egg, sunflower or grape seed oil, hazelnut oil (if using), juice from 1/2 lemon, mustard and a few pinches of salt to a tall plastic cylinder (note: most hand immersion blenders come with a tall plastic cylinder for blending). Allow the egg yolk to settle to the bottom. Using a hand immersion blender, stick the blade to the very bottom and blend on high for about 30 seconds; you'll immediately see the mayonnaise begin to form. Slowly raise the immersion blender near the surface to incorporate all of the oil and until very thick. Salt to taste. In a food processor or using a knife, pulse the hazelnuts until they resemble a coarse meal, about 30 seconds. Add the aioli to the food processor and blend until completely incorporated and smooth(ish).
Preheat the broiler. On a baking sheet (you can use the same one you toasted the hazelnuts on), add the green asparagus in an even layer. Rub the asparagus with the olive oil, lemon juice and a few pinches of salt. Place the baking sheet under the broiler and roast for 5 minutes. At the 5-minute mark, add the white asparagus to the baking sheet. Place the baking sheet back under the broiler and roast for an additional 10 minutes. Serve the asparagus alongside the hazelnut mayonnaise.