The striker, who missed Saturday’s game against Burnley, continues to suffer discomfort in his knee and will remain in Manchester.
Defender Nathan Ake is back in contention after a thigh problem and 19-year-old midfielder Tommy Doyle is included in the travelling squad.
City have already secured qualification to the round of 16 of this year’s competition, with Olympiacos and Marseille in their group along with Porto.
The Blues are top of their group with 12 points and are yet to lose a game, having conceded just once.
However, Pep Guardiola won’t be content to coast through this game – if Manchester City do beat Porto, the likelihood is that they’ll finish top of the group, securing an ‘easier’ draw at the next stage of the Champions League.