【问题标题】:Migrate EnterpriseLibrary v5 to v6 and .Net framework 3.5 to 4.6.2将 EnterpriseLibrary v5 迁移到 v6 和 .Net 框架 3.5 到 4.6.2
【发布时间】:2017-07-31 08:42:23
【问题描述】:

需要将我们的 ASP.Net 应用程序(3.5 框架)迁移到 .Net 框架 4.6.2。 使用了 EnterpriseLibrary v5,我们正在迁移的 ASP.Net 项目(4.6.2 框架)中使用 Nuget 管理器迁移/替换到 EL v6。

我在运行时遇到了 EL v6 dll 的问题。太难了,我已经从 Nuget 管理器添加了所有必需的 dll,我收到错误消息说 dll 不可用。

错误:

无法从程序集中加载类型“Microsoft.Practices.EnterpriseLibrary.Common.Configuration.EnterpriseLibraryContainer” 'Microsoft.Practices.EnterpriseLibrary.Common, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'。

这是我在解决方案中加载的 EL 版本 -

  • Microsoft.Practices.EnterpriseLibrary.Common : v6.0.1304
  • Microsoft.Practices.EnterpriseLibrary.Data:v6.0.1304
  • Microsoft.Practices.EnterpriseLibrary.ExceptionHandling:v6.0.1304
  • Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Logging:v6.0.1304
  • Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.WCF:v6.0.1304
  • Microsoft.Practices.ServiceLocation : : v1.0.0
  • Microsoft.Practices.Unity.Configuration : v4.0.1
  • Microsoft.Practices.Unity:v4.0.1
  • Microsoft.Practices.Unity.Interception.Configuration : v4.0.1
  • Microsoft.Practices.Unity.Interception : v4.0.1

请指教,我该如何解决所有这些问题..

【问题讨论】:

标签: c# asp.net visual-studio-2015 migration enterprise-library-6


【解决方案1】:

这里的实际问题是,用于缓存的 EnterpriseLibrary 版本是 5.0505 其余的是 6.0.1304 - 这是 Nuget 管理器中的最新版本。由于 dll 版本中的这种差异,“Microsoft.Practices.EnterpriseLibrary.Caching”出现了问题。此外,最新版本的 Enterprise Library (6.0.1304) 停用了以下应用程序块:

  • 缓存应用程序块
  • 密码学应用程序块
  • 安全应用程序块

因此,我们应该在迁移时使用“System.Runtime.Caching”,而不是使用 Microsoft.Practices.EnterpriseLibrary.Caching。

参考 - https://msdn.microsoft.com/en-us/library/dn169621.aspx

这终于解决了我的问题!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-10-11
    • 1970-01-01
    • 2011-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多