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.
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)
It looks like that the IUserComposer was marked as obsolete in V10 and is now deleted in V11
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.
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.
Hi matt,
Thanks for the quick reply!
The following error is thrown on application startup.
I've added konstrukt using the code snippet below. The builder is the IUmbracoBuilder from startup.cs (ignore the custom AddUmbracoHandlers extension method)
It looks like that the IUserComposer was marked as obsolete in V10 and is now deleted in V11
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.
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!
is working on a reply...