I've deployed Courier 2.5 on our dev and uat servers, and while most things are working fine, both serves are now very slow.
Adding umbDebugshowTrace onto the URL shows that there is an issue with Castle. The Stackdump etc is below, but it can't load Castle.DynamicProxy2
We dont use Caste in our own stuff. From the dates, Courier2.5 updated Caste.Core, but not Castle.DynamicProxy2. So DynamicProxy is looking for v1.1 of Castle.Core, but only finding v2.something.
Ah yes. DLL hell.
Any ideas? We are otherwise running 4.7.1, with very little added on the top.
OK, UPDATE: I'll keep this here. I removed Castle.DymanicProxy2 and... the error goes away. No idea if it's broken something, and I'll have more of a play tomorrow, but.... very strange.
------------------
RazorDataTypeModelTypes cache is empty, populating cache using TypeFinder...1.7767410.000042
Exception occurred while populating cache, Will set RazorDataTypeModelTypes to null so that this error remains visible and you don't end up with an empty cache with silent failure.1.8021340.025393
The exception was System.Exception and the message was Unable to load one or more of the types in assembly 'Castle.DynamicProxy2, Version=2.1.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc'. Exceptions were thrown:
System.IO.FileLoadException: Could not load file or assembly 'Castle.Core, Version=1.1.0.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)
System.IO.FileLoadException: Could not load file or assembly 'Castle.Core, Version=1.1.0.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). at umbraco.BusinessLogic.Utils.TypeFinder.FindClassesMarkedWithAttribute(Assembly assembly, Type attribute)
at umbraco.BusinessLogic.Utils.TypeFinder.FindClassesMarkedWithAttribute(Type attribute)
at umbraco.MacroEngines.DynamicNode.TryGetMember(GetMemberBinder binder, Object& result)
The issue releates to Nhibernate and Fluent Nhibernate, they updated their assemblies, but removed the Castle.DynamicProxy2 dependency, so it's not a needed part of fluent nHibernate anymore.
Which is also why Castle.DynamicProxy2 is not part of the Courier package anymore, but if you already had it in /bin (from Courier 2.0 or from somewhere else) then yup it will break, which is also mentioned in the Install and config docs:
We previously used the original, very early version of Courier but removed it due to a few conflicts. When we removed it, we left in the Castle.DynamicProxy2 dll, as we weren't sure if this was part of the core.
So when upgrading to 2.5, we got the same error as Nic - simply resolved by deleting the DLL (as per documentation - which I missed!).
This thread helped me find the solution quickly! :)
Courier 2.5 issue with Castle Dynamic Proxy
Hi there
I've deployed Courier 2.5 on our dev and uat servers, and while most things are working fine, both serves are now very slow.
Adding umbDebugshowTrace onto the URL shows that there is an issue with Castle. The Stackdump etc is below, but it can't load Castle.DynamicProxy2
We dont use Caste in our own stuff. From the dates, Courier2.5 updated Caste.Core, but not Castle.DynamicProxy2. So DynamicProxy is looking for v1.1 of Castle.Core, but only finding v2.something.
Ah yes. DLL hell.
Any ideas? We are otherwise running 4.7.1, with very little added on the top.
OK, UPDATE: I'll keep this here. I removed Castle.DymanicProxy2 and... the error goes away. No idea if it's broken something, and I'll have more of a play tomorrow, but.... very strange.
------------------
RazorDataTypeModelTypes cache is empty, populating cache using TypeFinder... 1.776741 0.000042
Exception occurred while populating cache, Will set RazorDataTypeModelTypes to null so that this error remains visible and you don't end up with an empty cache with silent failure. 1.802134 0.025393
The exception was System.Exception and the message was Unable to load one or more of the types in assembly 'Castle.DynamicProxy2, Version=2.1.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc'. Exceptions were thrown:
System.IO.FileLoadException: Could not load file or assembly 'Castle.Core, Version=1.1.0.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)
System.IO.FileLoadException: Could not load file or assembly 'Castle.Core, Version=1.1.0.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). at umbraco.BusinessLogic.Utils.TypeFinder.FindClassesMarkedWithAttribute(Assembly assembly, Type attribute)
at umbraco.BusinessLogic.Utils.TypeFinder.FindClassesMarkedWithAttribute(Type attribute)
at umbraco.MacroEngines.DynamicNode.TryGetMember(GetMemberBinder binder, Object& result)
Hi Nic
The issue releates to Nhibernate and Fluent Nhibernate, they updated their assemblies, but removed the Castle.DynamicProxy2 dependency, so it's not a needed part of fluent nHibernate anymore.
Which is also why Castle.DynamicProxy2 is not part of the Courier package anymore, but if you already had it in /bin (from Courier 2.0 or from somewhere else) then yup it will break, which is also mentioned in the Install and config docs:
http://nightly.umbraco.org/UmbracoCourier/Installation%20and%20Configuration.pdf
/Per
Documentation? Who reads documentation!? ;-)
Thanks - glad it was such an easy fix.
(/me goes off to read the docs)
Thanks Per. Hopefully, with this here, if someone else has the error, they'll be able to fix it quickly, too.
We previously used the original, very early version of Courier but removed it due to a few conflicts. When we removed it, we left in the Castle.DynamicProxy2 dll, as we weren't sure if this was part of the core.
So when upgrading to 2.5, we got the same error as Nic - simply resolved by deleting the DLL (as per documentation - which I missed!).
This thread helped me find the solution quickly! :)
Cheers guys,
is working on a reply...