This is what worked for me (Updated for VS 2013, see revision history for 2010, for VS 2015 see this: https://stackoverflow.com/a/32744234/218971):
-
Right-click your Web Application Project ▶
Properties▶Web, then configure theServerssection as follows:- Select IIS Express ▼ from the drop down
- Project Url:
http://localhost - Override application root URL:
http://dev.example.com - Click Create Virtual Directory (if you get an error here you may need to disable IIS 5/6/7/8, change IIS’s
Default Siteto anything but port:80, make sure Skype isn’t using port 80, etc.)
-
Optionally: Set the
Start URLtohttp://dev.example.com -
Open
%USERPROFILE%\My Documents\IISExpress\config\applicationhost.config(Windows XP, Vista, and 7) and edit the site definition in the<sites>config block to be along the lines of the following:<site name="DevExample" id="997005936"> <application path="/" applicationPool="Clr2IntegratedAppPool"> <virtualDirectory path="/" physicalPath="C:\path\to\application\root" /> </application> <bindings> <binding protocol="http" bindingInformation=":80:dev.example.com" /> </bindings> <applicationDefaults applicationPool="Clr2IntegratedAppPool" /> </site> -
If running MVC: make sure the
applicationPoolis set to one of the “Integrated” options (like “Clr2IntegratedAppPool”). -
Open your
hostsfile and add the line127.0.0.1 dev.example.com. -
► Start your application!
Some great advice from the comments:
- You may need to run Visual Studio as Administrator.
- If you want to make other devs see your IIS run
netsh http add urlacl url=http://dev.example.com:80/ user=everyone- If you want the site to resolve for all hosts set
bindingInformation="*:80:".
Use any port you want, 80 is just convenient. To resolve all hosts you’ll need to run Visual Studio as an administrator