We’ve recently adopted the excellent S#arp Architecture for our projects. I highly recommend taking a look at the project site.

On Friday I created a simple WCF service using S#arp’s Northwind sample site for  reference.

Using WcfTestClient I located my service and attempted to test one of the methods, only to get the following error.

Could not load file or assembly ‘Castle.Windsor, Version=, Culture=neutral, PublicKeyToken=407dd0808d44fbdc’ or one of its dependencies. The system cannot find the file specified.

I looked for the usual suspects (rogue entries in the GAC, searching the c: drive for instances of Castle.Windsor) but couldn’t find the problem.

Eventually I discovered this code in the sample site’s web.config.

  1. <runtime>
  2.   <assemblyBinding xmlns=urn:schemas-microsoft-com:asm.v1>
  3.     <dependentAssembly>
  4.       <assemblyIdentity name=Castle.Windsor publicKeyToken=407dd0808d44fbdc culture=neutral/>
  5.       <bindingRedirect oldVersion= newVersion=>
  6.     </dependentAssembly>
  7.   </assemblyBinding>
  8. </runtime>

Copying this to the web.config for my WCF service solved the problem.

Discuss on Twitter