您好!很高兴为您解答!
答案选D ,for+时间段 其后要用延续性动词,表示一个动作连续持续了一段时间 ,have been teaching 是延续性动词
翻译:在过去的十几年了,她一直在这个学校教学
希望可以帮到您,祝您成功!