If so turn off shadow copy assemblies under Resharper -> options -> unit testing
On Wed, Mar 18, 2009 at 8:22 PM, Ivan Porto Carrero <i...@flanders.co.nz>wrote: > 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