Recently, I had installed Microsoft’s IIS URL Rewrite 2.0 application within my local Sitecore development environment. For those who are not familiar, this application is used to redirect certain URL calls to other URL locations. As part of this environment set-up we are using Hedgehog TDS to manage and track Sitecore items.
However, when I tried to use Hedgehog again to synchronize Sitecore items, I was unable to do so. I was receiving the following error from Hedgehog in Visual Studio 2015 as I was trying to use it.
Using Visual Studio 2015, I examined the properties of the TDS project which was being used to connect my local Sitecore environment to it. I kept receiving the error below.
After doing some research the problem stemmed from the URL rewrite module interfering with Hedgehog’s ability to access the files it typically does to properly communicate with the Sitecore instance it synchronizes with.
These files (TdsService.asmx and its own web.config) exist in the _DEV folder of the Website folder structure of the Sitecore instance interacting with the Hedgehog TDS application.
The problem is the URL rewrite module can inadvertently remove files and folder structures for consideration which may be needed by other applications (such as Hedgehog). The configuration associated with this activity is eventually collected into the Sitecore site’s web.config in the <rewrite> section used to configure those rules. An example of this rule configuration meant to remove the _DEV folder from consideration among others is shown below.
<rule name="LowerCaseRule" stopProcessing="true"> <match url="[A-Z]" ignoreCase="false" /> <conditions logicalGrouping="MatchAll" trackAllCaptures="false"> <add input="{URL}" pattern="WebResource.axd" negate="true" /> <add input="{URL}" pattern="(/sitecore)|(/(.*\?sc_mode=edit))|(/-/speak)|(/_DEV)" negate="true" /> </conditions> <action type="Redirect" url="{ToLower:{URL}}" /> </rule>
You can search the web for more information concerning the rules engine used by Microsoft’s IIS URL Rewrite 2.0 application to determine how to properly configure the module to ignore the _DEV folder used by Hedgehog. Once this configuration change is implemented and Sitecore’s web.config has been updated, the files are left alone when Hedgehog begins to synchronize with Sitecore and Hedgehog TDS synchronization can then continue as normal.