A.has been caused
时间状语是last night,所以是已经发生过的事情,排除C和D
B项用的是过去完成时,表示过去的过去发生的事,而句子中,损失是在暴风雪中造成的,不是暴风雪之前就有,所以排除B,应该用现在完成时