Oddly, this imperative version works perfectly:

container.AddComponentLifeStyle("entityurlsprovider.picker",
                                    typeof
(IWebAdminEntityPickerEntityUrlsProvider<>),
                                    typeof
(WebAdminEntityPickerEntityUrlsProvider<>),
                                    LifestyleType.Transient);

the declarative version still fails though...syntax error?

<component id="entityurlsprovider.picker"
 
service="KGroup.KMS.Administration.IWebAdminEntityPickerEntityUrlsProvider`1,
KGroup.KMS.Core"
 
type="KGroup.KMS.Administration.Common.WebAdminEntityPickerEntityUrlsProvider`1,
KGroup.KMS.Core"
                 lifestyle="transient"/>

Thanks,
Mark

On Jan 25, 5:24 pm, Krzysztof Koźmic <[email protected]>
wrote:
> By reproduction I mean a minimalistic solution that exhibits the issue.
> I just tried to re-create your scenario and I hate to tell you that it
> works on my machine.
>
> The fact that the exception message says
>
> Type ''
>
> is misleading.
> It means you used open generic type. If the type was indeed not being
> found, an other exception would be thrown.
> Try to isolate the issue and post the solution here.
> At this point I can't really think of anything that could cause this issue.
>
> Krzysztof
>
> On 2010-01-25 23:20, Mark Richman wrote:
>
> > What do you mean by reproduction? There is nothing I'm doing
> > explicitly in my code to try loading the class other than new
> > WindsorContainer(new XmlInterpreter()). From there, the Windsor code
> > takes over and eventually throws an exception. Seems to me like the
> > method for parsing the web.config<component>  element may have
> > changed, causing an empty string to be passed as the 'type' argument
> > to
> > Castle.Windsor.Installer.DefaultComponentInstaller.AssertImplementsService
> > (id,service,type). Like I mentioned, I have made zero changes to my
> > code, other than replacing the Castle*.dll files.
>
> > On Jan 25, 5:00 pm, Krzysztof Koźmic<[email protected]>
> > wrote:
>
> >> Stack trace is not really helpful here.
> >> Can you create a reproduction and post it?
> >> This does not really seem to make much sense to me
>
> >> Krzysztof
>
> >> On 2010-01-25 22:42, Mark Richman wrote:
>
> >>> Maybe this stack trace will help:
>
> >>> [Exception: Could not set up component 'entityurlsprovider.picker'.
> >>> Type '' does not implement service
> >>> 'KGroup.KMS.Administration.IWebAdminEntityPickerEntityUrlsProvider`1,
> >>> KGroup.KMS.Core, Version=1.0.0.0, Culture=neutral,
> >>> PublicKeyToken=null']
>
> >>> Castle.Windsor.Installer.DefaultComponentInstaller.AssertImplementsService
> >>> (String id, Type service, Type type) +255
> >>>      Castle.Windsor.Installer.DefaultComponentInstaller.SetUpComponents
> >>> (IConfiguration[] configurations, IWindsorContainer container) +348
> >>>      Castle.Windsor.Installer.DefaultComponentInstaller.SetUp
> >>> (IWindsorContainer container, IConfigurationStore store) +124
> >>>      Castle.Windsor.WindsorContainer.RunInstaller() +98
> >>>      Castle.Windsor.WindsorContainer..ctor(IConfigurationInterpreter
> >>> interpreter) +167
> >>>      Global.Application_Start(Object sender, EventArgs e)
>
> >>> On Jan 25, 4:33 pm, Mark Richman<[email protected]>   wrote:
>
> >>>> I did a Clean Solution, Rebuild Solution. I even deleted the contents
> >>>> of /bin and rebuilt. I get the same error.
>
> >>>> On Jan 25, 4:25 pm, Krzysztof Ko 1/4 mic<[email protected]>
> >>>> wrote:
>
> >>>>> Looks like it somehow does not pick your implementation type. Do Clean
> >>>>> in Visual Studio, and then Build all projects
>
> >>>>> On 2010-01-25 22:16, Mark Richman wrote:
>
> >>>>>> I am trying to upgrade from these versions:
>
> >>>>>> Castle.Core 1.1.0.542
> >>>>>> Castle.DynamicProxy2 2.1.0.5642
> >>>>>> Castle.MicroKernel 2.0.0.5642
> >>>>>> Castle.Windsor 2.0.0.5642
>
> >>>>>> to the current versions:
>
> >>>>>> Castle.Core 1.2.0.6623
> >>>>>> Castle.DynamicProxy2 2.2.0.6628
> >>>>>> Castle.MicroKernel 2.1.0.6655
> >>>>>> Castle.Windsor 2.1.0.6655
>
> >>>>>> I get the following exception at startup:
>
> >>>>>> Could not set up component 'entityurlsprovider.picker'. Type '' does
> >>>>>> not implement service
> >>>>>> 'KGroup.KMS.Administration.IWebAdminEntityPickerEntityUrlsProvider`1,
> >>>>>> KGroup.KMS.Core, Version=1.0.0.0, Culture=neutral,
> >>>>>> PublicKeyToken=null'
>
> >>>>>> in this line of code in Application_Start:
>
> >>>>>> var container = new WindsorContainer(new XmlInterpreter());
>
> >>>>>> for this configuration:
>
> >>>>>> <component id="entityurlsprovider.picker"
> >>>>>> service="KGroup.KMS.Administration.IWebAdminEntityPickerEntityUrlsProvider`1,
> >>>>>> KGroup.KMS.Core"
> >>>>>> type="KGroup.KMS.Administration.Common.WebAdminEntityPickerEntityUrlsProvider`1,
> >>>>>> KGroup.KMS.Core"
> >>>>>> lifestyle="transient"/>
>
> >>>>>> I have not changed a single line of code, other than swapping out the
> >>>>>> dll's above and recompiling without errors.
>
> >>>>>> Is there a breaking change I should be aware of?
>
> >>>>>> Thanks,
> >>>>>> Mark

-- 
You received this message because you are subscribed to the Google Groups 
"Castle Project Users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/castle-project-users?hl=en.

Reply via email to