No seguinte método Carrinho, como ele identifica que o parametro "codigo" irá receber o valor do código do produto? Seria por conta do roteamento do "asp-route-codigo", localizado no Carrossel.cshtml?
public IActionResult Carrinho(string codigo) { ... }