Sorry if this appears twice, I had a problem posting.
Hi,
I had a problem deploying a web role to Azure (v2.3) using Castle Windsor.
When adding the TypedFactoryFacility to a WinsorContainer the web role
would throw an InvalidProgramException. I was able to “resolve” the issue
by deleting the deployment and creating a new solution from scratch and
then deploying that (there is an associated question on StackOverflow -
http://stackoverflow.com/q/24461848/3784807)
Now I’m trying to deploy a Worker Role and I’m getting the same problem.
I’ve been able to recreate the issue with the standard background worker
role template (VS2013), then using NuGet to add a reference to Castle
Windsor 3.3.0, then adding the following code to the worker roles run method
var windsorContainer = new WindsorContainer();
windsorContainer.AddFacility<TypedFactoryFacility>();
The AddFacility call eventually (the stack trace is below) throws the
Invalid Program Exception. Frustratingly the code works perfectly on my PC,
but not when I deploy it to Azure. I’m stuck. Is anybody able to deploy a
worker role to Azure with Castle Windsor 3.3.0? or does anybody have any
ideas as to what might be wrong?
STACK TRACE:
Castle.Windsor.dll!Castle.Core.ComponentModel.AddConstructor(Castle.Core.ConstructorCandidate
constructor = {Castle.Core.ConstructorCandidate}) C#
Castle.Windsor.dll!Castle.MicroKernel.ModelBuilder.Inspectors.ConstructorDependenciesModelInspector.ProcessModel(Castle.MicroKernel.IKernel
kernel = {Castle.MicroKernel.DefaultKernel}, Castle.Core.ComponentModel
model = {Castle.Core.ComponentModel}) C#
Castle.Windsor.dll!<>c__DisplayClass6.AnonymousMethod(Castle.MicroKernel.ModelBuilder.IContributeComponentModelConstruction
c =
{Castle.MicroKernel.ModelBuilder.Inspectors.ConstructorDependenciesModelInspector})
C#
CommonLanguageRuntimeLibrary!System.Collections.Generic.List`1.ForEach(System.Action
action = {unknown}) C#
Castle.Windsor.dll!Castle.MicroKernel.ModelBuilder.DefaultComponentModelBuilder.BuildModel(Castle.MicroKernel.ModelBuilder.IComponentModelDescriptor[]
customContributors =
{Castle.MicroKernel.ModelBuilder.IComponentModelDescriptor[2]}) C#
Castle.Windsor.dll!Castle.MicroKernel.Registration.ComponentRegistration`1.Castle.MicroKernel.Registration.IRegistration.Register(Castle.MicroKernel.IKernelInternal
kernel = {Castle.MicroKernel.DefaultKernel}) C#
Castle.Windsor.dll!Castle.MicroKernel.DefaultKernel.Register(Castle.MicroKernel.Registration.IRegistration[]
registrations = {Castle.MicroKernel.Registration.IRegistration[4]}) C#
Castle.Windsor.dll!Castle.Facilities.TypedFactory.TypedFactoryFacility.InitFacility()
C#
Castle.Windsor.dll!Castle.Facilities.TypedFactory.TypedFactoryFacility.Init()
C#
Castle.Windsor.dll!Castle.MicroKernel.Facilities.AbstractFacility.Castle.MicroKernel.IFacility.Init(Castle.MicroKernel.IKernel
kernel = {Castle.MicroKernel.DefaultKernel},
Castle.Core.Configuration.IConfiguration facilityConfig = null) C#
Castle.Windsor.dll!Castle.MicroKernel.DefaultKernel.AddFacility(string
key = "Castle.Facilities.TypedFactory.TypedFactoryFacility",
Castle.MicroKernel.IFacility facility =
{Castle.Facilities.TypedFactory.TypedFactoryFacility}) C#
Castle.Windsor.dll!Castle.MicroKernel.DefaultKernel.AddFacility(Castle.MicroKernel.IFacility
facility = {Castle.Facilities.TypedFactory.TypedFactoryFacility}) C#
Castle.Windsor.dll!Castle.MicroKernel.DefaultKernel.AddFacility() C#
Castle.Windsor.dll!Castle.Windsor.WindsorContainer.AddFacility() C#
WorkerRole1.dll!WorkerRole1.WorkerRole.Run() C#
Would really appreciate any help.
Thanks, Ben.
--
You received this message because you are subscribed to the Google Groups
"Castle Project Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/castle-project-users.
For more options, visit https://groups.google.com/d/optout.