I have a very simple example, but it fails.

using System;
using Castle.DynamicProxy;
using Castle.MicroKernel.Registration;
using Castle.Windsor;

namespace Castle.Stuff.Tests {
    public interface IInterface {
    }

    public class Program {
        public static void Main(string[ ] args) {
            using (var c = new WindsorContainer()) {
                c.Register(
                    Component.For<IInterface>()
                        .UsingFactoryMethod(() => {
                            var gen = new ProxyGenerator();
                            var proxy = 
gen.CreateInterfaceProxyWithoutTarget<IInterface>();
                            return proxy;
                        })
                    );

                c.Resolve<IInterface>();
                Console.Write("end...");
                Console.ReadLine();
            }
        }
    }
}

During the resolution, there is a deep NullReferenceException coming from 
within windsor. Should this example be possible? If it's not possible, how 
would I go about doing something like this?

Thanks,
Nick

p.s. stack trace -
   at System.Object.GetType()
   at 
Castle.MicroKernel.LifecycleConcerns.LateBoundConcerns.Apply(ComponentModel 
model, Object component) in 
e:\OSS.Code\Castle.Windsor\src\Castle.Windsor\MicroKernel\LifecycleConcerns\LateBoundConcerns.cs:line
 
48
   at 
Castle.MicroKernel.ComponentActivator.DefaultComponentActivator.ApplyConcerns(IEnumerable`1
 
steps, Object instance) in 
e:\OSS.Code\Castle.Windsor\src\Castle.Windsor\MicroKernel\ComponentActivator\DefaultComponentActivator.cs:line
 
235
   at 
Castle.MicroKernel.ComponentActivator.DefaultComponentActivator.ApplyCommissionConcerns(Object
 
instance) in 
e:\OSS.Code\Castle.Windsor\src\Castle.Windsor\MicroKernel\ComponentActivator\DefaultComponentActivator.cs:line
 
216
   at 
Castle.MicroKernel.ComponentActivator.DefaultComponentActivator.InternalCreate(CreationContext
 
context) in 
e:\OSS.Code\Castle.Windsor\src\Castle.Windsor\MicroKernel\ComponentActivator\DefaultComponentActivator.cs:line
 
77
   at 
Castle.MicroKernel.ComponentActivator.AbstractComponentActivator.Create(CreationContext
 
context) in 
e:\OSS.Code\Castle.Windsor\src\Castle.Windsor\MicroKernel\ComponentActivator\AbstractComponentActivator.cs:line
 
75
   at 
Castle.MicroKernel.Lifestyle.AbstractLifestyleManager.Resolve(CreationContext 
context) in 
e:\OSS.Code\Castle.Windsor\src\Castle.Windsor\MicroKernel\Lifestyle\AbstractLifestyleManager.cs:line
 
42
   at 
Castle.MicroKernel.Lifestyle.SingletonLifestyleManager.Resolve(CreationContext 
context) in 
e:\OSS.Code\Castle.Windsor\src\Castle.Windsor\MicroKernel\Lifestyle\SingletonLifestyleManager.cs:line
 
50
   at Castle.MicroKernel.Handlers.DefaultHandler.ResolveCore(CreationContext 
context, Boolean requiresDecommission, Boolean instanceRequired) in 
e:\OSS.Code\Castle.Windsor\src\Castle.Windsor\MicroKernel\Handlers\DefaultHandler.cs:line
 
61
   at Castle.MicroKernel.Handlers.AbstractHandler.Resolve(CreationContext 
context, Boolean instanceRequired) in 
e:\OSS.Code\Castle.Windsor\src\Castle.Windsor\MicroKernel\Handlers\AbstractHandler.cs:line
 
771
   at Castle.MicroKernel.Handlers.AbstractHandler.Resolve(CreationContext 
context) in 
e:\OSS.Code\Castle.Windsor\src\Castle.Windsor\MicroKernel\Handlers\AbstractHandler.cs:line
 
369
   at Castle.MicroKernel.DefaultKernel.ResolveComponent(IHandler handler, 
Type service, IDictionary additionalArguments) in 
e:\OSS.Code\Castle.Windsor\src\Castle.Windsor\MicroKernel\DefaultKernel.cs:line 
904
   at Castle.MicroKernel.DefaultKernel.ResolveComponent(IHandler handler, 
Type service) in 
e:\OSS.Code\Castle.Windsor\src\Castle.Windsor\MicroKernel\DefaultKernel.cs:line 
888
   at Castle.MicroKernel.DefaultKernel.Resolve(Type service) in 
e:\OSS.Code\Castle.Windsor\src\Castle.Windsor\MicroKernel\DefaultKernel_Resolve.cs:line
 
161
   at Castle.Windsor.WindsorContainer.Resolve(Type service) in 
e:\OSS.Code\Castle.Windsor\src\Castle.Windsor\Windsor\WindsorContainer.cs:line 
779
   at Castle.Windsor.WindsorContainer.Resolve[T]() in 
e:\OSS.Code\Castle.Windsor\src\Castle.Windsor\Windsor\WindsorContainer.cs:line 
868
   at Castle.Stuff.Tests.Program.Main(String[] args) in 
C:\src\castle-stuff\src\Castle.Stuff.Tests\Program.cs:line 22
   at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
   at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
   at System.Threading.ExecutionContext.Run(ExecutionContext 
executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()

-- 
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