My learning of .NET was completely informal, so I might not be doing things 'properly', so I don't know how good my advice is to be honest. I've spent a ton of time on Stackoverflow though, and everything I've written for our site seems to work just fine though!
However, the best host I've found so far is
http://reliablesite.net/v4/ , they are super good (and based in USA). This is based on our experiences using them as a dedicated host though, I'm not sure how good their shared hosting is but if the dedicated experience is anything to go by it's going to be a great option.
I've never figured out how to auto build + publish, from what I've read you need to write your own program to do it. I'm going to be doing it soon, because it would save me a lot of time to one-click build and publish, as there's a few steps I have to currently do inbetween:
- In VS publish the website to a local folder
- Open remote desktop to server (copy and pasting to RDP used to be slow, but it's pretty fast now, I've never liked FTP so this is the easiest way imo)
- Paste in an app_offline.htm file to the root directory (this puts the website out of action and shows that html page to all visitors)
- Copy and paste the publish folder over (don't c+p folders that haven't been updated like images/css/forum etc, as my project is a 'website' project I can't exclude folders from publishing which has been a royal PITA)
- Delete the app_offline.htm file, and it's all done
If you have any other questions I'm happy to answer them if I can, but again I might be a bad source of information as I'm sure I've got gaps in my knowledge about .NET specifically!