我最近为客户重新设计的旧 ASPDotNetStoreFront 项目遇到了一个非常奇怪的问题。重新设计很成功,但是我们唯一的项目插件,一个内部创建的税收计算插件,现在不能工作了。插件没有进行任何更改,我可以确认它在重新设计之前一直在工作。我们对网站的所有更改本质上都是装饰性的。ASPDotNetStoreFront 使用本 PDF 中详细介绍的附加组件的 ERP 提供程序我仅通过该项目熟悉该提供程序,并且在其他地方几乎没有经验,这可能解释了我的一些问题。
奇怪的是,ASPDotNetStoreFront 正在识别 AddOn 存在并且在尝试为其调用合同时失败。(在这种情况下,它正在使用 ItaxRates 并试图调用 ItaxRatesContract。)每次我尝试激活它时都会发生这种情况并且我收到以下错误:
Page URL:/shoppingcart.aspx
Source:Anonymously Hosted DynamicMethods Assembly
Message:Unable to cast transparent proxy to type 'AspDotNetStorefront.Contracts.ITaxRatesContract'.
Stack Trace:
at ITaxRatesContractToViewHostAdapter_ConstructorInvoker(Object )
at System.AddIn.Hosting.AddInActivator.AdaptToHost[T](AddInToken pipeline, IContract addInContract)
at System.AddIn.Hosting.AddInActivator.ActivateInAppDomain[T](AddInToken pipeline, AppDomain domain, AddInControllerImpl controller, Boolean weOwn)
at System.AddIn.Hosting.AddInActivator.Activate[T](AddInToken token, PermissionSet permissionSet, String appDomainName)
at System.AddIn.Hosting.AddInActivator.Activate[T](AddInToken token, AddInSecurityLevel level, String appDomainName)
at System.AddIn.Hosting.AddInActivator.Activate[T](AddInToken token, AddInSecurityLevel level)
at System.AddIn.Hosting.AddInToken.Activate[T](AddInSecurityLevel trustLevel)
at AspDotNetStorefrontCore.AppLogic.UseAddIn[T](Action`1 usageContext) in C:\Users\Username\Documents\Visual Studio 2010\Projects\ASPDNSF\ASPDNSFCore\AppLogic.cs:line 11189
它将找到插件,将其作为令牌添加到核心的 AppLogic 类中,将 ItaxRatesViewToContractAddInAdapter 中的变量设置为 Tax Add On,然后导致上述错误。
这个项目发生的一些值得注意的事情:
这是从我们的 SVN 服务器拉到一台新的笔记本电脑上的,所以这是第一次在这台计算机上构建这个项目。我不知道这是否真的应该有所作为,但在这一点上,我愿意接受任何事情。
我试图清理项目以及插件使用的管道以获得相同的结果。没运气。
最后一天,我一直在为这个问题绞尽脑汁,这让我感到很紧张。任何帮助都将非常感激。谢谢!