Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


  • Maikel 5 posts 96 karma points
    Nov 15, 2022 @ 12:26
    Maikel
    1

    Umbraco 11 support

    Hi Matt,

    I am currently working on creating a new umbraco 11 website. For this we wanted to use Konstrukt because we also use it in another project and we liked it. Unfortunately, the latest version (1.6.1) does not work with Umbraco 11. Konstrukt probably uses Umbraco functionality which is depreciated/ not valid anymore.

    Is there perhaps a preview version/ ETA on a version which is compatible with Umbraco 11? If not we'll just wait until a new version comes out.

  • Matt Brailsford 4124 posts 22215 karma points MVP 9x c-trib
    Nov 15, 2022 @ 13:20
    Matt Brailsford
    0

    Hi Maikel,

    Can you please provide details of any errors you are encountering?

    We haven't tested this in v11 yet, but will aim to take a look as soon as we can.

  • Maikel 5 posts 96 karma points
    Nov 15, 2022 @ 13:36
    Maikel
    0

    Hi matt,

    Thanks for the quick reply!

    The following error is thrown on application startup.

    System.Reflection.ReflectionTypeLoadException
      HResult=0x80131602
      Message=Could not load all types from "Konstrukt.Startup, Version=1.6.1.0, Culture=neutral, PublicKeyToken=null" due to LoaderExceptions, skipping:
    . System.TypeLoadException on Umbraco.Cms.Core.Composing.IUserComposer: Could not load type 'Umbraco.Cms.Core.Composing.IUserComposer' from assembly 'Umbraco.Core, Version=11.0.0.0, Culture=neutral, PublicKeyToken=null'.
    
    Could not load type 'Umbraco.Cms.Core.Composing.IUserComposer' from assembly 'Umbraco.Core, Version=11.0.0.0, Culture=neutral, PublicKeyToken=null'.
      Source=Umbraco.Core
      StackTrace:
       at Umbraco.Cms.Core.Composing.TypeFinder.GetTypesWithFormattedException(Assembly a)
       at Umbraco.Cms.Core.Composing.TypeFinder.GetClassesWithBaseType(Type baseType, IEnumerable`1 assemblies, Boolean onlyConcreteClasses, Func`2 additionalFilter)
       at Umbraco.Cms.Core.Composing.TypeFinder.FindClassesOfType(Type assignTypeFrom, IEnumerable`1 assemblies, Boolean onlyConcreteClasses)
       at Umbraco.Extensions.TypeFinderExtensions.FindClassesOfType[T](ITypeFinder typeFinder, IEnumerable`1 assemblies, Boolean onlyConcreteClasses)
       at Umbraco.Cms.Core.Composing.TypeLoader.<>c__DisplayClass21_0`1.<GetTypes>b__0()
       at Umbraco.Cms.Core.Composing.TypeLoader.GetTypesInternalLocked(Type baseType, Type attributeType, Func`1 finder, String action, Boolean cache)
       at Umbraco.Cms.Core.Composing.TypeLoader.GetTypesInternal(Type baseType, Type attributeType, Func`1 finder, String action, Boolean cache)
       at Umbraco.Cms.Core.Composing.TypeLoader.GetTypes[T](Boolean cache, IEnumerable`1 specificAssemblies)
       at Umbraco.Cms.Core.DependencyInjection.UmbracoBuilderExtensions.AddAllCoreCollectionBuilders(IUmbracoBuilder builder)
       at Umbraco.Cms.Core.DependencyInjection.UmbracoBuilder.AddCoreServices()
       at Umbraco.Cms.Core.DependencyInjection.UmbracoBuilder..ctor(IServiceCollection services, IConfiguration config, TypeLoader typeLoader, ILoggerFactory loggerFactory, IProfiler profiler, AppCaches appCaches, IHostingEnvironment hostingEnvironment)
       at Umbraco.Extensions.UmbracoBuilderExtensions.AddUmbraco(IServiceCollection services, IWebHostEnvironment webHostEnvironment, IConfiguration config)
       at <<deleted>>.Startup.ConfigureUmbraco(IServiceCollection services) in C:\<<deleted>>\Startup.cs:line 66
       at <<deleted>>.Startup.ConfigureServices(IServiceCollection services) in C:\<<deleted>>\Startup.cs:line 35
       at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
       at System.Reflection.MethodInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr)
       at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
       at Microsoft.AspNetCore.Hosting.ConfigureServicesBuilder.InvokeCore(Object instance, IServiceCollection services)
       at Microsoft.AspNetCore.Hosting.GenericWebHostBuilder.UseStartup(Type startupType, HostBuilderContext context, IServiceCollection services, Object instance)
       at Microsoft.AspNetCore.Hosting.GenericWebHostBuilder.<>c__DisplayClass14_0.<UseStartup>b__0(HostBuilderContext context, IServiceCollection services)
       at Microsoft.Extensions.Hosting.HostBuilder.InitializeServiceProvider()
       at Microsoft.Extensions.Hosting.HostBuilder.Build()
       at Umbraco.Cms.Web.Common.Hosting.UmbracoHostBuilderDecorator.Build()
       at <<deleted>>.Program.Main(String[] args) in C:\<<deleted>>\Program.cs:line 6
    

    I've added konstrukt using the code snippet below. The builder is the IUmbracoBuilder from startup.cs (ignore the custom AddUmbracoHandlers extension method)

    enter image description here

    It looks like that the IUserComposer was marked as obsolete in V10 and is now deleted in V11

  • Matt Brailsford 4124 posts 22215 karma points MVP 9x c-trib
    Nov 15, 2022 @ 13:44
    Matt Brailsford
    101

    Perfect!

    Ok, I've done a test compile and spotted that and another potential signature change and have made the relevant updates.

    There should be a 1.6.2-beta0004 on our unstable feed at https://nuget.outfield.digital/unstable/v3/index.json if you want to give it a try.

  • Maikel 5 posts 96 karma points
    Nov 15, 2022 @ 14:21
    Maikel
    0

    It looks like it is working with version 1.6.2-beta0004 on Umbraco 11.0.0-rc4, thanks!

    If I encounter any other issues I will let you know!

Please Sign in or register to post replies

Write your reply to:

Draft