The correct option is B Nobody but Jessica would wear a mini-skirt at a formal dinner.
We use but as an alternative to except (for), apart from and bar to introduce the only thing or person that the main part of the sentence does not include. It is often used after words such as everyone, nobody, anything, anywhere, all, no, none, any, every.
But is used as a preposition when we put a noun or pronoun after it.
Option B is correct. It means nobody except for Jessica can wear a mini-skirt at a formal dinner. The noun phrase 'Jessica would wear a mini-skirt at a formal dinner', which is also the object of the preposition 'but', follows it.
Option A is incorrect as the meaning of the sentence has been completely changed.
Option C is incorrect because the sentence is incomplete and the meaning is also incorrect.
Option D is incorrect because it means no one will wear a mini-skirt.