【问题标题】:Castle Windsor 5.1.1 erroring after upgrading Castle-Core from 4.4.1 to 5.0.0 - Could not load PermissionUtil from Castle.Core将 Castle-Core 从 4.4.1 升级到 5.0.0 后,Castle Windsor 5.1.1 出错 - 无法从 Castle.Core 加载 PermissionUtil
【发布时间】:2023-01-19 18:12:43
【问题描述】:

我最近在我现有的 ASP.NET Web 项目中使用 NuGet 将 Castle Core 升级到 5.0.0 并将 Castle Windsor 升级到 5.1.1。升级前,温莎城堡运行良好。

现在每当我打电话时:

...
 var container = new WindsorContainer();
...

我收到错误:

...
    System.TypeLoadException
      HResult=0x80131522
      Message=Could not load type 'Castle.Core.Internal.PermissionUtil' from assembly 'Castle.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc'.
      Source=Castle.Windsor
      StackTrace:
       at Castle.MicroKernel.DefaultKernel..ctor(IDependencyResolver resolver, IProxyFactory proxyFactory)
       at Castle.MicroKernel.DefaultKernel..ctor()
       at Castle.Windsor.WindsorContainer..ctor()
       at CastleTest2.Controllers.HomeController.Index() in C:\Users\jacki754\source\repos\CastleTest2\Controllers\HomeController.cs:line 14
       at System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] 

       at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
       at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c.<BeginInvokeSynchronousActionMethod>b__9_0(IAsyncResult asyncResult, ActionInvocation innerInvokeState)
       at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`2.CallEndDelegate(IAsyncResult asyncResult)
       at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResultBase`1.End()
       at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult)
       at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass11_0.<InvokeActionMethodFilterAsynchronouslyRecursive>b__0()
       at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass11_2.<InvokeActionMethodFilterAsynchronouslyRecursive>b__2()
    ...

我找不到关于这些新版本的任何特定文档,所以有人知道是否需要采取任何其他步骤(例如在 Web.Config 中)来设置 Castle Windsor 吗?

【问题讨论】:

  • 看起来您的应用程序中某处仍然有对版本 5.0.0 的引用。我首先会检查您的项目文件,并确保它引用的是最新的 5.1.1 版本。

标签: c# castle-windsor


【解决方案1】:

根据此页面 https://groups.google.com/g/castle-project-devel/c/M94Lwdzx62I Castle Windsor 与 Castle Core 4.4.1 版本以上的任何内容都不兼容。

如果将 Castle Windsor 升级到 5.1.2(或更高版本)并将 Castle Core 保留在 4.4.1,那么它应该可以工作。

【讨论】:

    猜你喜欢
    • 2014-11-11
    • 1970-01-01
    • 2017-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多