U4-3734 - Not able to use /base in v7

Created by Tim Geyssens 27 Nov 2013, 13:20:23 Updated by Shannon Deminick 27 Nov 2013, 23:52:40

Getting the error

Could not load type 'umbraco.presentation.umbracobase.RestExtension' from assembly 'umbraco, Version=1.0.5073.21174, Culture=neutral, PublicKeyToken=null'.

[TypeLoadException: Could not load type 'umbraco.presentation.umbracobase.RestExtension' from assembly 'umbraco, Version=1.0.5073.21174, Culture=neutral, PublicKeyToken=null'.] System.ModuleHandle.ResolveType(RuntimeModule module, Int32 typeToken, IntPtr* typeInstArgs, Int32 typeInstCount, IntPtr* methodInstArgs, Int32 methodInstCount, ObjectHandleOnStack type) +0 System.ModuleHandle.ResolveTypeHandleInternal(RuntimeModule module, Int32 typeToken, RuntimeTypeHandle[] typeInstantiationContext, RuntimeTypeHandle[] methodInstantiationContext) +371 System.ModuleHandle.ResolveTypeHandle(Int32 typeToken, RuntimeTypeHandle[] typeInstantiationContext, RuntimeTypeHandle[] methodInstantiationContext) +19 System.Reflection.RuntimeModule.ResolveType(Int32 metadataToken, Type[] genericTypeArguments, Type[] genericMethodArguments) +319 System.Reflection.CustomAttribute.FilterCustomAttributeRecord(CustomAttributeRecord caRecord, MetadataImport scope, Assembly& lastAptcaOkAssembly, RuntimeModule decoratedModule, MetadataToken decoratedToken, RuntimeType attributeFilterType, Boolean mustBeInheritable, Object[] attributes, IList derivedAttributes, RuntimeType& attributeType, IRuntimeMethodInfo& ctor, Boolean& ctorHasParameters, Boolean& isVarArg) +203 System.Reflection.CustomAttribute.GetCustomAttributes(RuntimeModule decoratedModule, Int32 decoratedMetadataToken, Int32 pcaCount, RuntimeType attributeFilterType, Boolean mustBeInheritable, IList derivedAttributes, Boolean isDecoratedTargetSecurityTransparent) +1179 System.Reflection.CustomAttribute.GetCustomAttributes(RuntimeType type, RuntimeType caType, Boolean inherit) +235 Umbraco.Core.<>c__DisplayClass10.b__e(Type t) in c:\Users\Timbo\Documents\GitHub\Umbraco-CMS\src\Umbraco.Core\TypeFinder.cs:443 System.Linq.WhereArrayIterator1.MoveNext() +43 Umbraco.Core.TypeFinder.FindClassesWithAttribute(Type attributeType, IEnumerable1 assemblies, Boolean onlyConcreteClasses) in c:\Users\Timbo\Documents\GitHub\Umbraco-CMS\src\Umbraco.Core\TypeFinder.cs:448 Umbraco.Core.TypeFinder.FindClassesWithAttribute(IEnumerable1 assemblies, Boolean onlyConcreteClasses) in c:\Users\Timbo\Documents\GitHub\Umbraco-CMS\src\Umbraco.Core\TypeFinder.cs:409 Umbraco.Core.TypeFinder.FindClassesWithAttribute(IEnumerable1 assemblies) in c:\Users\Timbo\Documents\GitHub\Umbraco-CMS\src\Umbraco.Core\TypeFinder.cs:467 Umbraco.Core.PluginManager.b__2b() in c:\Users\Timbo\Documents\GitHub\Umbraco-CMS\src\Umbraco.Core\PluginManager.cs:809 Umbraco.Core.PluginManager.LoadViaScanningAndUpdateCacheFile(TypeList typeList, TypeResolutionKind resolutionKind, Func1 finder) in c:\Users\Timbo\Documents\GitHub\Umbraco-CMS\src\Umbraco.Core\PluginManager.cs:765 Umbraco.Core.PluginManager.ResolveTypes(Func1 finder, TypeResolutionKind resolutionType, Boolean cacheResult) in c:\Users\Timbo\Documents\GitHub\Umbraco-CMS\src\Umbraco.Core\PluginManager.cs:735 Umbraco.Core.PluginManager.ResolveAttributedTypes(Boolean cacheResult) in c:\Users\Timbo\Documents\GitHub\Umbraco-CMS\src\Umbraco.Core\PluginManager.cs:808 Umbraco.Web.PluginManagerExtensions.ResolveRestExtensions(PluginManager resolver) in c:\Users\Timbo\Documents\GitHub\Umbraco-CMS\src\Umbraco.Web\PluginManagerExtensions.cs:58 Umbraco.Web.BaseRest.RestExtensionMethodInfo.GetFromAttribute(String extensionAlias, String methodName, Int32 paramsCount) in c:\Users\Timbo\Documents\GitHub\Umbraco-CMS\src\Umbraco.Web\BaseRest\RestExtensionMethodInfo.cs:168 Umbraco.Web.BaseRest.RestExtensionMethodInfo.GetMethod(String extensionAlias, String methodName, Int32 paramsCount) in c:\Users\Timbo\Documents\GitHub\Umbraco-CMS\src\Umbraco.Web\BaseRest\RestExtensionMethodInfo.cs:81 Umbraco.Web.BaseRest.BaseRestHandler.ProcessRequest(HttpContext context) in c:\Users\Timbo\Documents\GitHub\Umbraco-CMS\src\Umbraco.Web\BaseRest\BaseRestHandler.cs:66 System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +913 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +165

Comments

Shannon Deminick 27 Nov 2013, 23:48:43

The problem is uGoLive - we didn't remove the DLL and it hasn't been rebuilt against the v7 dlls so it doesn't work, yet it still exists in the bin folder. It has a /base plugin declared so the plugin manager tries to load it which is why you get this exception.

Remove all uGoLive dlls from the /bin and it will work.

We'll update the 7.0.1 codebase to not ship with uGoLive, will add a task and chat to the Core team about what we want to do with uGoLive for 7.1


Shannon Deminick 27 Nov 2013, 23:52:40

more discussion here: http://our.umbraco.org/forum/developers/extending-umbraco/46457-Umbraco-7-could-not-load-RestExtension?p=1#comment166687


Priority: Major

Type: Bug

State: Fixed

Assignee: Shannon Deminick

Difficulty: Normal

Category:

Backwards Compatible: True

Fix Submitted:

Affected versions: 7.0.0

Due in version: 7.0.1

Sprint:

Story Points:

Cycle: