This PR has 90% all of the work done to allow the bitcoin Qt programs to be built with msvc and the appveyor script.
Outstanding issues:
There are,365 code tweaks required for the bitcoin Qt components to be built without warnings with msvc. They seem minor- Building Qt as a static library for Windows is painful and time consuming. I doubt it will ever be possible to build Qt from source as part of an appveyor job (and it would probably take over an hour even if it was). My tentative solution is to build locally and upload the binaries as a github release. The msvc build is only for testing and tinkering but even so this doesn’t feel like the ideal solution. Open to suggestions?
There is still an issue to sort out with the payment request URL handling. Building Qt with openssl is an extra headache. I will continue to work on getting this working.
The big benefit of this PR is the ability to run bitcoin-qt within a Visual Studio debugging session which could expedite tracking down issues on Windows.
On a side note the test-bitcoin-qt tests fail very early, probably due to *nix specific tests. I haven’t dug into them at this point.
Update 28 Jun 2019: The ENABLE_BIP70 option is now off (it’s flagged for removal as per #15584). With it disabled msbuild does not require any code changes to build the Bitcoin Core Qt applications.