Sure… you can build apps, but you can’t do everything you need to do… there are plenty of times where solutions, even sandboxed solutions, are still required. However there’s this annoying little issue with the current developer tools that have been provided for SharePoint 2013 RTM. After creating a project, you are prompted to enter a URL of a SharePoint site to use in debugging. This site must be a local site, but unfortunately the way the current release of the developer tools, Office & SharePoint 2013 Developer Tools for Visual Studio 2012 RTM - Preview 2 (how’s that for the longest product name ever?), determine if the site is local or not. I’ve tested the following on two different environments… one where everything was installed on one machine and another where everything was installed on two machines (AD domain controller & DNS on a separate box).
I created a site, http://dev.wingtip.com
, in a local site. The server has an IP set to 192.168.150.103. I can navigate the site and hit it just fine… no internet connection on the box. However when I try to use this site as the debugging site in Visual Studio, I get this:
Well that’s just not correct… it is local. I tried going to DNS and entering a wildcard A record for *.wingtip.com
and pointed back to the local IP, but that didn’t work. I tried setting the IP of the DNS record to 127.0.0.1 but same thing (all the while flushing DNS each time to ensure a local lookup). I even ran NSLOOKUP dev.wingtip.com
and it reported the IP was 127.0.0.1.
The only fix was to update the local HOSTS file to point to the local machine. I know these aren’t the final developer tools, but come on… this is moving backwards from the tools we had before in SharePoint 2010 & Visual Studio 2010!
To help me with this, I use a little script to create site collections. After creating it it does two neat things:
- Adds an entry to the Favorite Bar in IE so you have a quick bookmark to the site
- Adds an entry to the hosts file
In my environment I’ve configured things to use host-named site collections to simplify my URLs and match what they do in Office 365.