Preheat oven to 400° F. Line a sheet pan with parchment paper.
Pat salmon filets dry and lay on the prepared sheet pan, skin side down. Next add the asparagus and arrange so that everything is in one single layer and not touching. Drizzle everything with one tablespoon of the olive oil (toss asparagus to coat well). Season everything with salt and pepper to taste. Move pan into the preheated oven and roast for 15 minutes or until the salmon is cooked through and flakes easily.
Meanwhile, heat the remaining tablespoon of olive oil and the butter over medium heat in a large nonstick skillet. Add shallot and cook for 2-3 minutes until translucent. Add garlic and cook 1-2 more minutes, just until fragrant.
Add the orzo, stir to coat, and cook for 1-2 minutes until glossy. Add ½ cup vegetable broth. Let it simmer, then when the liquid is mostly cooked off, add ½ cup more. Continue to do this until all of the broth has been added and orzo is creamy and tender (should take about 12-15 minutes).
Then add the half & half, parmesan, lemon zest, dill and salt. Stir until creamy and no extra liquid remains. Remove from heat.
To serve: spoon the creamy orzo into shallow bowls (or plates); Use a spoon to separate salmon into 1-2″ chunks and place on top orzo along with the asparagus. Finish with a squeeze of lemon juice. Garnish with extra dill and lemon slices.
