So I ran into an unusual problem recently. I had a Razer gaming notebook that I was using as my primary computer and building a Blazor application (see Blazor.net). This is Microsoft’s answer to single page applications like angular, react, etc. It’s actually fantastic but being pre-release it is constantly in a state of flux. Okay so before you lecture me on the dangers of bleeding edge development … I don’t really care because it is totally worth it to be able to use c# in my web pages. Okay, so back to where the problem comes into play. My razer’s battery started to significantly swell and effectively got so big it cracked the case and warped the keyboard. My fear there was that it would explode and/or catch on fire. So I had to get another computer because as a developer I cannot wait for Razer to fix it.
I purchased a new Asus Rog Strix (yes I like gaming notebooks) and started loading it up. I got the latest preview of Visual Studio 2019 and the stable Visual Studio 2019. I also inadvertently in doing that got the latest pre-release version of .net core 3.0 (preview 8). My application is working off of preview 6 and no matter what I tried to do through uninstalling the preview Visual Studio kept using preview 8. It was super frustrating to say the least. The uninstaller provided by Microsoft simply does not remove the files.
After over a week of messing around with it I found a solution. You literally have to go to explorer and the c:\Program Files\dotnet directory and search for preview8 (or whatever one you actually want to remove) and then one by one you must delete those folders and files until there are no more names preview8. After you do that and make sure you have whatever preview you want installed then your project will build and run as expected.
So the lesson learned here is that when you are a developer using Microsoft preview versions and you have to switch computers you need to be very careful with what you install. You also need to inventory the versions you have on your old build machine just to make sure you actually have the same environment on your new computer. Otherwise, you will be forced to update and migrate your code potentially mid-project and multiple times. It’s risky to be working with previews in the first place but if you find yourself in the same situation hopefully this helps you a bit.
Finally, just so we don’t give Razer a bad name here for their swollen battery. They did offer to replace the battery and keyboard if I ship the computer to them (which I can now do since I can build my project again). So, for a modest fee I will be able to get the Razer back as well. That said, I’ll probably stick with the Rog for a while.