Grab DefaultComponentActivator and override the method that throws the exception. Is as simple as that. You have the code already.

On 17/06/2010 9:34 PM, omer katz wrote:
And how exactly do I do that?
Got any examples?

2010/6/17 Krzysztof Koźmic <[email protected] <mailto:[email protected]>>

    Than if you're trapped with the old version and there's a bug in
    the DefaultComponentActivator that prevents you from successfully
    running your app, perhaps simply replacing the activator with your
    own implementation that does not have the bug would be the
    solution worth pursuing?
    K


    On 17/06/2010 7:21 PM, omer katz wrote:
    Turns out I am using Rhino.Commons.ActiveRecord which uses the
    old version of the Castle components.
    I can't upgrade...

    2010/6/17 omer katz <[email protected] <mailto:[email protected]>>

        Ohhh my boss won't be happy, dammit.
        What do you mean by 'ilmerging'? Can't find it in the
        dictionary. You mean removing them?
        The problem started with some types not registering correctly.
        I have consulted with Krzysztof Koźmic about this issue and
        he said I have probably discovered some bug.
        Therefor I need to upgrade to the latest version.
        See this question
        
<http://stackoverflow.com/questions/3044805/problem-with-initializing-a-type-with-winsdorcontainer/3045400>
        for more info. If you have a better idea please let me know.
        The problem is the domino effect. Upgrading ActiveRecord
        involves upgrading NHibernate which has breaking changes (I
        wish this would have been handled when the new version came
        to life but it wasn't :( )

        Thank you,
        Omer
        2010/6/17 Mauricio Scheffer <[email protected]
        <mailto:[email protected]>>

            ActiveRecord 1.0.3.0 depends on Core 1.0.3.0, while
            Windsor 2.1.1 depends on Core 1.2.0.0
            You could try assembly redirection
            <http://msdn.microsoft.com/en-us/library/7wd6ex19.aspx>
            but it probably won't work due to changes from 1.0.3.0 to
            1.2.0.0.
            Another option would be ilmerging Windsor 2.1.1 with its
            Castle.Core 1.2.0.0 and  possibly everything depending on
            Core 1.2.0.0, like DynamicProxy, facilities, etc.

            --
            Mauricio


            On Wed, Jun 16, 2010 at 10:32 AM, the_drow
            <[email protected] <mailto:[email protected]>> wrote:

                Hello, I'm trying to upgrade to the latest version of
                Winsdor but I
                need to keep the old ActiveRecord version (1.0.3.0)  now.
                My exception is thrown here:
                       public ApplicationView(string[] args)
                       {
                           InitializeComponent();

                           string configFilePath =
                Path.Combine(AppDomain.CurrentDomain.BaseDirectory,
                "log4net.config");
                           FileInfo configFileInfo = new
                FileInfo(configFilePath);
XmlConfigurator.ConfigureAndWatch(configFileInfo);

                           IConfigurationSource configSource =
                ConfigurationManager.GetSection("ActiveRecord") as
                IConfigurationSource; // Throws here
                           Assembly assembly =
                Assembly.Load("Danel.Nursing.Model");
                           ActiveRecordStarter.Initialize(assembly,
                configSource);

                           WindsorContainer windsorContainer =
                ApplicationUtils.GetWindsorContainer();

                
windsorContainer.Kernel.AddComponentInstance<ApplicationView>(this);

                
windsorContainer.Kernel.AddComponent(typeof(ApplicationController).Name,
                typeof(ApplicationController));

                           IDataServicesInitiator dsi = new
                DataServicesInitiator();
                           dsi.AddToIocContainer(ref windsorContainer);

                           controller =
                windsorContainer.Resolve<ApplicationController>();

                           OnApplicationLoad(args);
                       }

                {"An error occurred creating the configuration
                section handler for
                ActiveRecord: Exception has been thrown by the target
                of an
                invocation.
                (E:\\Agile\\Scheduling\\Danel.Nursing.Scheduling\\bin\
                \Debug\\Danel.Nursing.Scheduling.vshost.exe.Config
                line 4)"}

                {"Could not load file or assembly 'Castle.Core,
                Version=1.0.3.0,
                Culture=neutral, PublicKeyToken=407dd0808d44fbdc' or
                one of its
                dependencies. The located assembly's manifest
                definition does not
                match the assembly reference. (Exception from HRESULT:
                0x80131040)":"Castle.Core, Version=1.0.3.0,
                Culture=neutral,
                PublicKeyToken=407dd0808d44fbdc"}

                For some reason it still tries to load the old core
                version.
                How do I make it fetch the new version?

                --
                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]
                <mailto:[email protected]>.
                To unsubscribe from this group, send email to
                [email protected]
                <mailto:castle-project-users%[email protected]>.
                For more options, visit this group at
                http://groups.google.com/group/castle-project-users?hl=en.


-- 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]
            <mailto:[email protected]>.
            To unsubscribe from this group, send email to
            [email protected]
            <mailto:castle-project-users%[email protected]>.
            For more options, visit this group at
            http://groups.google.com/group/castle-project-users?hl=en.

-- 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]
    <mailto:[email protected]>.
    To unsubscribe from this group, send email to
    [email protected]
    <mailto:[email protected]>.
    For more options, visit this group at
    http://groups.google.com/group/castle-project-users?hl=en.

-- 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]
    <mailto:[email protected]>.
    To unsubscribe from this group, send email to
    [email protected]
    <mailto:castle-project-users%[email protected]>.
    For more options, visit this group at
    http://groups.google.com/group/castle-project-users?hl=en.

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

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