This blog post provides information about connecting to instances of the Sitecore ASP.NET CMS using the Sitecore Rocks extension for Microsoft Visual Studio. For more information about Sitecore Rocks, see my blog post Introducing Sitecore Rocks.
When you install Sitecore Rocks, choose to integrate with the appropriate installation(s) of Visual Studio 2010:
After installing Sitecore Rocks, in Visual Studio, click the Sitecore menu, and then click New Connection. Note the additional options on the Sitecore menu. The fields used by a connection are self-explanatory.
Connections are not part of Visual Studio projects or solutions. You can use the same connection when working with multiple projects, and you can use multiple connections when working with a single project. I'm not sure if the latter has any implications, such as copying items between solutions. Update: for information about linking a Sitecore Rocks connection to a Visual Studio project, see my blog post Attach a Sitecore Rocks Connection to a Visual Studio Project.
To explore connections, click the Sitecore menu, and then click Sitecore Explorer. In Solution Explorer, double-click an item to access the item editor.
To create a connection to a Sitecore instance using Sitecore Rocks:
If Sitecore Rocks indicates that the instance is unresponsive and prompts you whether to update server components, click OK:
And then click Update:
If Sitecore Rocks prompts you to select the installation subdirectory, select the Website subdirectory of the Sitecore installation directory:
If you receive an error at this point, you may need to run Visual Studio as administrator, or open NTFS permissions on /sitecore/shell/webservice such that the owner of the Visual Studio process can write to that subdirectory.
You may see a status window such as the following:
After you click Update, you can click Close. If you receive the following HTTP 401 Unauthorized error:
Run inetmgr, and for the Web site, allow anonymous access to the /sitecore/shell/WebService subdirectory.
To uninstall Sitecore Rocks, in Visual Studio, click the Tools menu, then click Extension Manager; in the dialog that appears, select Sitecore Rocks, click Uninstall and then Restart Visual Studio.
If you receive an error about "Sitecore.Rocks.TemplateWizard" somewhere along the way, see post Sitecore.Rocks.TemplateWizard, Version=0.7.0.0, Culture=neutral, PublicKeyToken=c9e2eeb5a3dd9908, processorArchitecture=MSIL on the the sitecorebasics blog.
Nice walk-through. The tip on allow Anonymous access to /sitecore/shell/WebService was very helpful.
I can an error when I try to deploy marked files. Something about serializing a parameter called :Execute. Do you know how to handle that?
@SBB: I don't have a clue about that one. I suggest posting a description on the Sitecore Rocks forum on SDN: sdn.sitecore.net/.../ShowForum.aspx
Any advice if trying to connect to a sitecore site in sitecore rocks when the site is located on a VM? Updating the server components won't be possible from the host Visual Studio connection.
I'm running Sitecore on a Win 8.1 laptop. IIS is running, I can hit my Sitecore site and login as admin and explore site fine through browser. I've opened anonymous access on the webservice through inetmgr (as per other blog post) and running VS in administrator mode - yet when I try to setup a connection to this localhost instance in Sitecore Rocks, I'm getting a Visual Studio error "Got a no service error. Please check that the connection is correct." I have a standard IIS config/setup with defaults on this dev machine, nothing unique. Used default connection settings in Sitecore Rocks with localhost and pointed directory to my C:\inetpub\wwwroot\<sitename>\Website folder. Any ideas? Frustrated, been searching and troubleshooting this a while now. Thx for help.
Hi Charles Could you check that you have service2.asmx and browser.aspx in the /sitecore/shell/WebService folder? And check that Url /sitecore/shell/WebService/Service2.asmx is working. Thanks.
Disregard - solved. Fyi do not use default 'localhost' - use the actual Sitecore site name you created if you are trying to connect locally to an existing site. Cheers
Had same issue as Charles and when I replaced "localhost" with my site name, it worked like a charm. Thank you.
If you follow Sitecore's security document on your local instance, you will not be able to connect using Sitecore Rocks. Make sure you are aware of any "anonymous authentication" setting changes made in IIS
I've been successful at connecting to our DEV environment but not the production environment, I just get a 404 page not found error so not much detail. I've created a ticket with the infrastructure team to see if there's something at the firewall preventing the connection but do you now how sitecore rocks actually connects? Does it use a specific protocol or port? I'm just looking for some kind of detail i can pass to the guys to look at. Thank you,
Can you create a Sitecore Rocks connection through sites setup in IIS express? I am having an issue doing so, I receive the error mentioned above: "Got a "No Service" error. Please check that the connection is correct." Also, when I setup the connection I used the site name listed in the application host config for iis express. Any ideas?
@Jeffrey: I have never used IIS Express for anything, but I do not see why it should not work. What happens if you try to access http://<your_hostname>/sitecore/shell/WebService/Service2.asmx in a browser? The only thing I can think of is that you may need to install the files for Rocks manually.
If you get "No service" error then 1) Go to the site on Inetmgr -> Explore(copy the path) 2) paste this same path in the SitecoreRocks registration window->Location
I manually installed sitecore 8.0 according to the document Installation_Guide_SC80-A4.pdf. I have site rock dlls in the bin folder. I can access the webservice localhost:4431/.../service2.asmx. But I cannot coonect the site core from Sitecore Rock. I got the error: The request channel timed out while waiting for a reply after 00:00:59.9909995. Increase the timeout value passed to the request or increase the SendTimeout value on the Binding. localhost:4431/.../service2.asmx has exceeded the allotted timeout of 00:00:59:998000 Any sugguestion?
I have the same error. I have HTTPS binding and redirects from HTTP to HTTPS like on production server. When I turn it off it works fine.