TFS Plug-In for Rainbow
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib/Microsoft Visual Studio 12.0


A Team Foundation Server plug-in for the Rainbow serialization provider used by Unicorn.

This library aims to solve file system access denied errors when using Unicorn under TFS source control for versions 2010 and older (or Server Workspaces in 2012 and later). Solutions using such versions of TFS, requiring TFS checkout actions prior to editing files on the file system, are candidates for inclusion of this library.

Configuration Notes

Local TFS Cache

TFS uses local cache to maintain the local workspace and keep track of files and related changesets. In order to access the appropriate set of TFS cache, IIS must be configured to allow for ASP.NET Impersonation such that the application pool assumes the identity of the developer and not the local system account.

Note: configuring the application pool for ASP.NET Impersonation should only be set on developer workstations. Do not make this change to environments outside of development.

32-Bit Dependencies

The library dependencies for access via the TFS API are built for 32-bit support. Application pools must support 32-bit applications to properly communicate with TFS.

Configuration Steps


Install NuGet package


  1. In IIS, select your application pool and click on Advanced Settings
  2. Change Enable 32-Bit Applications from false to true step 2
  3. In IIS, select your site
  4. Under the IIS section, click on Authentication step 4
  5. Right-click on ASP.NET Impersonation and choose Enable
  6. Right-Click on ASP.NET Impersonation and choose Edit
  7. Choose Specific User and enter your user name (domain\username) and password. step 7


For integration with Rainbow, the default file sync configuration will be replaced with a reference to this library. Included will be your user name, password and domain for access to your TFS server. Update the Rainbow.Tfs configuration patch under \App_Config\Include\Unicorn.Tfs.config.

<configuration xmlns:patch="">
				<targetDataStore type="Rainbow.Tfs.Storage.TfsSerializationFileSystemDataStore, Rainbow.Tfs" physicalRootPath="$(dataFolder)\Unicorn\$(configurationName)" useDataCache="false" singleInstance="true" patch:instead="targetDataStore[@type='Rainbow.Storage.SerializationFileSystemDataStore, Rainbow']" />

		<!-- add your TFS creds here -->
			<setting name="Rainbow.Tfs.Login" value="" />
			<setting name="Rainbow.Tfs.Password" value="" />
			<setting name="Rainbow.Tfs.Domain" value="" />