You ______ her in her office last Friday; she' s been out of town for two weeks.
【正确答案】 D
【答案解析】本题测试虚拟语气。needn't have done表示不必做某事,而实际上已经做了,含没有必要或浪费的意思。根据该题后半句她已经离开两个星期了,A错。B和C是对发生在过去的事情的一种推断,只是程度不同,因为是肯定形式,不合题意,也错。must have been的否定形式应为can’t have done,所以D正确。