我在最近为客户重新设计的旧ASPDotNetStoreFront项目中遇到了一个非常奇怪的问题。重新设计变得很好,但我们唯一的AddOn项目,一个内部创建的税收计算插件,现在将无法正常工作。没有对插件进行任何更改,我可以确认它在重新设计之前一直在运行。我们对网站的所有更改都是化妆品。 ASPDotNetStoreFront为AddOns as detailed in this 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
它会找到add,在核心的AppLogic类中将其添加为令牌,将ITaxRatesViewToContractAddInAdapter中的变量设置为Tax Add On,然后导致上述错误。
这个项目发生了一些注意事项:
这是从我们的SVN服务器上拉到新的笔记本电脑上,所以这是第一次在这台计算机上构建这个项目。我不知道实际是否应该有所作为,但此时,我愿意接受任何事情。
我试图清理项目,以及AddIns用于相同结果的管道。没有运气。
在最后一天,我一直在围绕这个问题绞尽脑汁,这是我最后的神经。任何帮助将超级超级赞赏。谢谢!