【问题标题】:MVC DLL version 2.0.0.0: where can I get it from?MVC DLL 版本 2.0.0.0:我可以从哪里获得它?
【发布时间】:2012-02-09 13:25:49
【问题描述】:

这让我发疯了,不感谢 Recaptcha!有谁知道我在哪里可以获得 MVC dll 版本 2.0.0.0 的副本来让这个糟糕的 Recaptcha 正常工作?我已经尝试了所有以前版本的 mvc 和 Recaptcha,但没有任何效果!它可以在我的本地机器上使用 1.0,但如果我把它放到实时服务器上,它就没有了。有人有什么建议吗?

我应该指出我的网站是一个网络表单网站,

谢谢

这是一个愚蠢的错误:

发生错误

System.Exception: Unable to load one or more of the types in assembly 'Recaptcha, Version=1.0.4.0, Culture=neutral, PublicKeyToken=null'. Exceptions were thrown:
System.IO.FileLoadException: Could not load file or assembly 'System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
  at umbraco.BusinessLogic.Utils.TypeFinder.FindClassesMarkedWithAttribute(Assembly assembly, Type attribute)
  at umbraco.BusinessLogic.Utils.TypeFinder.FindClassesMarkedWithAttribute(Type attribute)
  at umbraco.macro.GetXsltExtensionsImpl()
  at umbraco.macro.b__6()
  at umbraco.cms.businesslogic.cache.Cache.GetCacheItem[TT](String cacheKey, Object syncLock, CacheItemPriority priority, CacheItemRemovedCallback refreshAction, CacheDependency cacheDependency, TimeSpan timeout, GetCacheItemDelegate`1 getCacheItem)
  at umbraco.macro.GetXsltExtensions()
  at umbraco.macro.AddMacroXsltExtensions()
  at umbraco.presentation.webservices.codeEditorSave.SaveXslt(String fileName, String oldName, String fileContents, Boolean ignoreDebugging)

【问题讨论】:

标签: asp.net-mvc umbraco recaptcha


【解决方案1】:

请在 Umbraco 错误跟踪器上查看 this issue。 Umbraco 中名为 TypeFinder 的手动 DI 容器,用于在运行时动态加载 XSLT 和 /base 扩展是有缺陷的,并且 ReCaptcha 包含一个继承自 System.Web.Mvc 中的 MvcHelper 的类。因此,当 DI 容器尝试加载此类时,它会出错并终止您的宏。

这将在 Umbraco 4.10 as detailed here 中修复(Shannon Deminick 的 TypeFinder 来自现已失效的 Umbraco v5 正在向后移植),或者您可以手动将补丁从 this fork here 应用到 Umbraco 源(但在风险自负)。

【讨论】:

  • 我似乎在两个项目中都有相同版本的businesslogic.dll,但我会看看您通过电子邮件发送给我的另一个项目,看看该版本的 DLL 是否有影响。 ..
  • 恐怕我看不到如何从该链接获取 DLL。我的开发人员刚刚在项目中引用了System.Web.MVC.dll,这似乎已经成功了……
  • 不,这似乎对我们的 Staging 服务器没有任何影响——它在本地修复它,但是一旦我部署到 Staging,我仍然会在 'System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' 上收到 System.IO.FileNotFoundException。
  • 它可能正在 GAC 中搜索 DLL。它在您的开发人员机器上本地工作,因为 MVC 安装在 GAC 中但未安装在服务器上。将 MVC DLL 设置为复制本地或在您的服务器上安装 MVC。
  • @RobertKoritnik 不,该项目实际上不需要 MVC 程序集(Umbraco 4.x 可以使用 Razor 宏,但实际上并未使用 MVC)。问题似乎是作为 Umbraco 一部分的依赖检查器 认为 需要 MVC,因为它被另一个依赖项引用(但未使用)。所以是的,我们添加了 System.Web.Mvc.dll 作为对我们项目的引用——尽管实际上并不需要它——因为 Umbraco 类型检查器认为它是一个先决条件,但实际上它不是。
猜你喜欢
  • 1970-01-01
  • 2020-07-02
  • 2012-03-08
  • 2011-05-20
  • 2011-05-03
  • 2014-12-23
  • 2019-01-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多