Are you using resharper for your unit tests?
2009/3/18 Nathan Stott <nrst...@gmail.com> > I dont know if this helps, but this is the full output of the test: > > ComponentLoaderRegisteringComponentContext.ShouldRegisterComponent : Failed > CT_INIT: Object > > UPDATED: Object > CreateInstanceSingleton affected=1 rules=0 > > UPDATED: Object > CreateInstanceSingleton affected=1 rules=0 > CT_INIT: File::Constants > CT_INIT: IO > CT_INIT: File > > UPDATED: Object > CreateInstanceSingleton affected=1 rules=0 > MT_INIT: Kernel > MT_INIT: Object > MT_INIT: <anonymous> > MT_INIT: Module > MT_INIT: Class > MT_INIT: <anonymous> > > UPDATED: Object > CreateInstanceSingleton affected=5 rules=1 > MT_INIT: <anonymous> > > LOADER: Loading assembly 'Motorpool.Calendar.Web.Test, Version=1.0.0.0, > Culture=neutral, PublicKeyToken=null' and type '' > MT_INIT: Symbol > MT_INIT: Enumerable > MT_INIT: Hash > MT_INIT: Microsoft::Scripting::Actions::TypeTracker > MT_INIT: Microsoft::Scripting::Actions::TypeGroup > > System.InvalidOperationException: can't convert Castle::Core::ComponentModel > into Castle::Core::ComponentModel > at CallSite.Target(Closure , CallSite , RubyMethodScope , Object , Object ) > at System.Dynamic.UpdateDelegates.UpdateAndExecute3<T0,T1,T2,TRet>( > CallSite site, T0 arg0, T1 arg1, T2 arg2) in > C:\git\ironruby\ndp\fx\src\Core\Microsoft\Scripting\Actions\UpdateDelegates.Generated.cs: > line 509 > at ℑℜ;component;;10;(Closure , Object , Proc , Object ) > at CallSite.Target(Closure , CallSite , RubyScope , Object , Hash ) > at System.Dynamic.UpdateDelegates.UpdateAndExecute3<T0,T1,T2,TRet>( > CallSite site, T0 arg0, T1 arg1, T2 arg2) in > C:\git\ironruby\ndp\fx\src\Core\Microsoft\Scripting\Actions\UpdateDelegates.Generated.cs: > line 509 > at ℑℜ;#;;0;(Closure , Scope , LanguageContext ) > at Microsoft.Scripting.Runtime.LegacyScriptCode.Run() in > C:\git\ironruby\Merlin\Main\Runtime\Microsoft.Scripting\Runtime\LegacyScriptCode.cs: > line 43 > at Microsoft.Scripting.SourceUnit.Execute() in > C:\git\ironruby\Merlin\Main\Runtime\Microsoft.Scripting\SourceUnit.cs: line > 239 > at Microsoft.Scripting.Hosting.ScriptSource.Execute() in > C:\git\ironruby\Merlin\Main\Runtime\Microsoft.Scripting\Hosting\ScriptSource.cs: > line 138 > at Motorpool.Calendar.Service.ComponentLoader.Load(IWindsorContainer > container, TextReader reader) in ComponentLoader.cs: line 64 > at Motorpool.Calendar.Web.Test.ComponentLoaderRegisteringComponentContext > .ShouldRegisterComponent() in > ComponentLoaderRegisteringComponentContext.cs: line 26 > > On Wed, Mar 18, 2009 at 1:55 PM, Nathan Stott <nrst...@gmail.com> wrote: > >> I tried that and no luck. >> It doesn't seem that the assembly is not being loaded properly. I'm able >> to use methods on the objects fine in the script. However, it is that last >> call to the $container.Register(ComponentRegistration.new(model)) where >> for some reason it won't work. >> >> ComponentRegistration.new() takes a ComponentModel. The error seems to >> indicate that it is receiving a ComponentModel even with the same namespace >> prefixes but somehow it's not able to use it. >> >> 2009/3/18 Ivan Porto Carrero <i...@flanders.co.nz> >> >> You can try using the LoadAssembly method on the runtime object >>> >>> runtime.LoadAssembly(typeof(IWindsorContainer).Assembly); >>> >>> that should require the assembly a little nicer >>> >>> I think you can also use load_assembly 'Castle.Windsor' >>> >>> >>> http://github.com/casualjim/ninject-dynamic/blob/0b531d9e3ae46cc3e8549c9cfc078a8c27e5dda7/src/Ninject.Dynamic/RubyEngine.cs#L166 >>> >>> http://github.com/casualjim/ninject-dynamic/blob/0b531d9e3ae46cc3e8549c9cfc078a8c27e5dda7/src/Ninject.Dynamic/RubyEngine.cs#L142 >>> >>> http://github.com/casualjim/ninject-dynamic/blob/0b531d9e3ae46cc3e8549c9cfc078a8c27e5dda7/src/Ninject.Dynamic/RubyEngine.cs#L90 >>> >>> >>> >>> 2009/3/18 Nathan Stott <nrst...@gmail.com> >>> >>> I'm using the hosting API. >>>> This is the entire method: >>>> public void Load(IWindsorContainer container, TextReader reader) >>>> { >>>> var runtime = Ruby.CreateRuntime(); >>>> ScriptEngine engine = Ruby.GetEngine(runtime); >>>> var ctx = Ruby.GetExecutionContext(runtime); >>>> ctx.DefineReadOnlyGlobalVariable("container", container); >>>> >>>> string header = >>>> @"require 'Castle.Windsor' >>>> require 'Castle.MicroKernel' >>>> require 'Castle.Core' >>>> >>>> ComponentRegistration = >>>> Castle::MicroKernel::Registration::ComponentRegistration >>>> ComponentModel = Castle::Core::ComponentModel >>>> Parameter = Castle::MicroKernel::Registration::Parameter >>>> Component = Castle::MicroKernel::Registration::Component >>>> >>>> def component(options) >>>> throw :classIsRequired if !options.has_key?(:class) >>>> klass = options[:class].to_clr_type >>>> if options.has_key?(:service) >>>> service = options[:service].to_clr_type >>>> else >>>> service = klass >>>> end >>>> if options.has_key?(:name) >>>> name = options[:name] >>>> else >>>> name = klass.class.name.underscore.lowercase >>>> end >>>> model = ComponentModel.new(name, service, klass) >>>> if options.has_key?(:parameters) >>>> parameters = options[:parameters] >>>> parameters.each do |p| >>>> model.Parameters.Add(p.key, p.value) >>>> end >>>> end >>>> $container.Register(ComponentRegistration.new(model)) >>>> end"; >>>> >>>> ScriptSource headerSource = engine.CreateScriptSourceFromString(header); >>>> headerSource.Execute(); >>>> >>>> string containerScript = reader.ReadToEnd(); >>>> ScriptSource source = >>>> engine.CreateScriptSourceFromString(containerScript); >>>> source.Execute(); >>>> } >>>> } >>>> >>>> 2009/3/18 Tomas Matousek <tomas.matou...@microsoft.com> >>>> >>>>> How do you run this script? From command line (ir.exe script.rb) or >>>>> do you use hosting API? >>>>> >>>>> >>>>> >>>>> Tomas >>>>> >>>>> >>>>> >>>>> *From:* ironruby-core-boun...@rubyforge.org [mailto: >>>>> ironruby-core-boun...@rubyforge.org] *On Behalf Of *Nathan Stott >>>>> *Sent:* Wednesday, March 18, 2009 8:33 AM >>>>> *To:* ironruby-core@rubyforge.org >>>>> *Subject:* [Ironruby-core] problem >>>>> >>>>> >>>>> >>>>> Hi all. I have a question that probably belongs on a users mailing >>>>> list but I could not find one. >>>>> >>>>> >>>>> >>>>> I get the following error when trying to use my IronRuby windsor >>>>> registration script: >>>>> >>>>> * >>>>> System.InvalidOperationException: can't convert >>>>> Castle::Core::ComponentModel into Castle::Core::ComponentModel >>>>> * >>>>> >>>>> >>>>> >>>>> I assume this has something to do with the fact that newing up an >>>>> object in IronRuby isn't the same thing as newing it up in C#. >>>>> >>>>> >>>>> >>>>> Any suggestions or guidance would be appreciated. >>>>> >>>>> >>>>> >>>>> Here is the important IronRuby code: >>>>> >>>>> >>>>> >>>>> require 'Castle.Windsor' >>>>> >>>>> require 'Castle.MicroKernel' >>>>> >>>>> require 'Castle.Core' >>>>> >>>>> >>>>> >>>>> ComponentRegistration = >>>>> Castle::MicroKernel::Registration::ComponentRegistration >>>>> >>>>> ComponentModel = Castle::Core::ComponentModel >>>>> >>>>> Parameter = Castle::MicroKernel::Registration::Parameter >>>>> >>>>> Component = Castle::MicroKernel::Registration::Component >>>>> >>>>> >>>>> >>>>> def component(options) >>>>> >>>>> throw :classIsRequired if !options.has_key?(:class) >>>>> >>>>> >>>>> >>>>> klass = options[:class].to_clr_type >>>>> >>>>> >>>>> >>>>> if options.has_key?(:service) >>>>> >>>>> service = options[:service].to_clr_type >>>>> >>>>> else >>>>> >>>>> service = klass >>>>> >>>>> end >>>>> >>>>> >>>>> >>>>> if options.has_key?(:name) >>>>> >>>>> name = options[:name] >>>>> >>>>> else >>>>> >>>>> name = klass.class.name.underscore.lowercase >>>>> >>>>> end >>>>> >>>>> >>>>> >>>>> model = ComponentModel.new(name, service, klass) >>>>> >>>>> >>>>> >>>>> if options.has_key?(:parameters) >>>>> >>>>> parameters = options[:parameters] >>>>> >>>>> parameters.each do |p| >>>>> >>>>> model.Parameters.Add(p.key, >>>>> p.value) >>>>> >>>>> end >>>>> >>>>> end >>>>> >>>>> >>>>> >>>>> $container.Register(ComponentRegistration.new(model)) >>>>> >>>>> end >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> Ironruby-core mailing list >>>>> Ironruby-core@rubyforge.org >>>>> http://rubyforge.org/mailman/listinfo/ironruby-core >>>>> >>>>> >>>> >>>> _______________________________________________ >>>> Ironruby-core mailing list >>>> Ironruby-core@rubyforge.org >>>> http://rubyforge.org/mailman/listinfo/ironruby-core >>>> >>>> >>> >>> _______________________________________________ >>> Ironruby-core mailing list >>> Ironruby-core@rubyforge.org >>> http://rubyforge.org/mailman/listinfo/ironruby-core >>> >>> >> > > _______________________________________________ > Ironruby-core mailing list > Ironruby-core@rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > >
_______________________________________________ Ironruby-core mailing list Ironruby-core@rubyforge.org http://rubyforge.org/mailman/listinfo/ironruby-core