【正确答案】
B
【答案解析】[理由] 本句测试下列与过去事实相反的虚拟语气:
would/might/should/could+have+过去分词
本来会/本来可能/本来应该/本来可以……(但事实并非如此)
[例] I would have finished the work yesterday.
(我昨天本来能把工作做完的。——但我没有)
He might have achieved the goal.
(他本来可能会达到目标的。——但他没有)
You should have told me the truth.
(你本来就该跟我说实话的。——但你没有)
根据上述,空格前有过去式助动词would,因此空格因置have been,以形成“would have+过去分词”的假设语气固定用法,故(B)应为正选。