Unity works on my PC but not on the Server. What did I miss?
- by Erik France
I have a web service using Microsoft Unity to hook the pieces together.  It all works fine on my PC but when I put it on the web server, I receive this error message:
System.ServiceModel.FaultException`1[System.ServiceModel.ExceptionDetail]: The value of the property 'type' cannot be parsed. The error is: Method 'GetClaimsForUser' in type 'WebService.Implementation.ClaimsRetriever' from assembly 'WebService.Implementation, Version=1.0.0.0, Culture=neutral, PublicKeyToken=62cac0f1a908971a' does not have an implementation.
If I look at the web.config, I see the following:
<unity>
    <typeAliases>
      <typeAlias alias="ITokenGenerator" type="WebService.Interfaces.ITokenGenerator, WebService.Interfaces" />
      <typeAlias alias="TokenGenerator" type="WebService.Implementation.TokenGenerator, WebService.Implementation" />
      <typeAlias alias="IClaimsRetriever" type="WebService.Interfaces.IClaimsRetriever, WebService.Interfaces" />
      <typeAlias alias="ClaimsRetriever" type="WebService.Implementation.ClaimsRetriever, WebService.Implementation" />
      <typeAlias alias="TokenGeneratorSettings" type="WebService.Implementation.TokenGeneratorSettings, WebService.Implementation" />
      <typeAlias alias="String" type="System.String, mscorlib" />
    </typeAliases>
    <containers>
      <container>
        <types>
          <type type="ITokenGenerator" mapTo="TokenGenerator">
            <typeConfig extensionType="Microsoft.Practices.Unity.Configuration.TypeInjectionElement, Microsoft.Practices.Unity.Configuration">
              <constructor>
                <param name="retriever" parameterType="IClaimsRetriever">
                  <dependency />
                </param>
                <param name="settings" parameterType="TokenGeneratorSettings">
                  <dependency />
                </param>
              </constructor>
            </typeConfig>
          </type>
          <type type="IClaimsRetriever" mapTo="ClaimsRetriever">
            <typeConfig extensionType="Microsoft.Practices.Unity.Configuration.TypeInjectionElement, Microsoft.Practices.Unity.Configuration">
              <constructor>
                <param name="connectionStringName" parameterType="String">
                  <value value="devDatabase" type="String" />
                </param>
              </constructor>
            </typeConfig>
          </type>
        </types>
      </container>
    </containers>
  </unity>
I have another web service, using an almost identical config running on the web server.  But this new web service will not run.
Any ideas on what I have not told Unity to do?  Or maybe what I told Unity to do incorrectly?