升级到Dotnet Core 1.0后出现Kendo错误

3
自从升级到Core Final 1.0版本后,在运行MVC网站时,出现以下错误: 在运行services.AddKendo()的第59行。
Line 57: services.AddMvc();  
Line 58: // Register UI for ASP.NET MVC helpers  
Line 59: services.AddKendo();  
Line 60:  
Line 61: // Addapplication services.

System.Reflection.TargetInvocationException: 调用目标的异常已被抛出。---> System.TypeLoadException: 无法从程序集'Microsoft.Extensions.DependencyInjection.Abstractions, Version=1.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'中加载类型'Microsoft.Extensions.DependencyInjection.ServiceCollectionExtensions'。
在Microsoft.Extensions.DependencyInjection.ServiceCollectionExtensions.AddKendo(IServiceCollection services)处
zepdata.com.Startup.ConfigureServices(IServiceCollection services) in PATH\Startup.cs:line 59 --- 内部异常堆栈跟踪的结尾 ---
System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments) at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
在System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)处
Microsoft.AspNetCore.Hosting.Internal.ConfigureServicesBuilder.Invoke(Object instance, IServiceCollection exportServices) at Microsoft.AspNetCore.Hosting.Internal.ConfigureServicesBuilder.<>c__DisplayClass4_0.b__0(IServiceCollection services) at Microsoft.AspNetCore.Hosting.ConventionBasedStartup.ConfigureServices(IServiceCollection services) at Microsoft.AspNetCore.Hosting.Internal.WebHost.EnsureApplicationServices()
Microsoft.AspNetCore.Hosting.Internal.WebHost.BuildApplication()

我升级了VS 2015 Update 3和Dotnet Core 1.0。


如果有帮助的话,我正在使用不同的NuGet包(SignalR RC2)遇到相同的错误。听起来在Core 1中DI的一些名称已经改变了,因此需要相应地更新包:https://github.com/aspnet/DependencyInjection/issues/412 - JohnnyFun
我发现大多数Kendo错误发生在人们没有注意与对手之间距离时。 AHAAHAHA我很有趣。 - HelloWorld
2个回答

1

现在有一个Kendo.Mvc 2016.2.630的内部版本可用,似乎可以解决这个问题。无法在他们的nuget网站上找到它,但如果您登录到您的telerik帐户并转到产品下载,它应该在内部版本下列出。

nupkg位于\wrappers\aspnetmvc\Binaries\Mvc6中

(但仍然存在grid问题)

来自于此: https://github.com/telerik/kendo-ui-core/issues/1856


1
我已经获得了新版本,它似乎可以工作,但在网格上显示数据时失败了。我发布了一个与此相关的新问题。[链接](https://dev59.com/QZjga4cB1Zd3GeqPLoqg) - MerlinNZ

1

将 services.AddKendo() 替换为其实现:

foreach (ServiceDescriptor service in Kendo.Mvc.KendoServices.GetServices())
    services.Add(service);
services.AddSingleton<IActionContextAccessor, ActionContextAccessor>();

自Kendo的最新版本编译为aspnetcore-rc2后,此操作是必需的。在aspnet 1.0中,一些类已重命名,因此Kendo无法找到它们。

https://github.com/aspnet/Announcements/issues/187


1
是的,应用程序已经启动,但在加载带有kendo控件的页面时仍然发生相同的异常。 - neodim
这确实有助于解决特定的错误,但在此之后还有很多其他问题失败。例如,在 Kendo 网格上进行读取操作。看起来 Telerik 必须发布一个新版本。不知道需要多长时间? - MerlinNZ

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接