D
考察虚拟语气。句意:威廉,红灯亮了。你应该停车。——对不起,我没看见。“must+have+done”表示对过去事情的肯定推测,译成“一定做过某事”; “should+have+done”意思是“本来应该做某事,而实际没做。故选D。