If you look at the Transaction processing entry in Wikipedia, you will encounter the following quote:
Transaction processing guards against hardware and software errors that might leave a transaction partially completed, with the system left in an unknown, inconsistent state.
Imagine a system being in state A, and performing operation O should send him to B. However, something wrong happens during execution of O. Now, imagine the operation consisted in computing 1+1 and that we didn't care about the result, we could argue that no matter what happen, state A = state B.
But imagine that operation O consisted in writing to a file. The IO component did not return any message after the request to write to the file. Did it crash ? Did it crash before the file was created, or during the write phase, or right before the end, or even after the file was written when it attempted to show you a message box saying "I've done it"? The system could be at A (no file written) or B (file written, and ok) but it can't tell. It is in an unknown state to him, a state that it does not recognize, an inconsistent state.
I hope that my explanation is good :-)
Also, one guy seems to have found the solution to the problem, but he can only guess on what exactly is the reason.
My .2$: Visual Studio could not load the package, but it thought it was loaded, as such, its internal "state" of the the solution/project is no longer "ok" (which was the case), but "right now, I can't tell if we're ok or not".