将Virtocommerce从2.9升级到2.10 - CacheManager问题

时间:2016-04-28 16:59:56

标签: virtocommerce

我最近在我的VirtoCommerce网站上执行了以下步骤:

通过Git将我的本地环境从2.9更新到2.10。 将Manager发布到Azure。 (覆盖Azure上的2.9) 将Storefront发布到Azure。 (覆盖Azure上的2.9)

我收到了一个无法加载LibSass_64的Typeload错误。实现我的Dev Machine是x64但Azure服务器是x86,因此我将两个解决方案中的Build configs更改为x86,并使用“删除现有文件”设置重新发布以清除x64 dll。

解决了类型加载错误。但是现在我收到以下错误,我无法在没有帮助的情况下解决。任何帮助将不胜感激!

调用StoreModuleGetStores时出错:

无法从程序集'CacheManager.SystemRuntimeCaching,Version = 0.7.1.0,Culture = neutral,PublicKeyToken = null'

加载类型'CacheManager.Core.RuntimeCachingBuilderExtensions'

调用目标抛出了异常。 System.RuntimeMethodHandle.InvokeMethod(Object target,Object [] arguments,Signature sig,Boolean constructor)+0

System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj,Object[] parameters, Object[] arguments) +92
System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) +101
Owin.Loader.<>c__DisplayClass12.<MakeDelegate>b__b(IAppBuilder builder) +66
Owin.Loader.<>c__DisplayClass1.<LoadImplementation>b__0(IAppBuilder builder) +123
Microsoft.Owin.Host.SystemWeb.<>c__DisplayClass2.<InitializeBlueprint>b__0(IAppBuilder builder) +71
Microsoft.Owin.Host.SystemWeb.OwinAppContext.Initialize(Action`1 startup) +462
Microsoft.Owin.Host.SystemWeb.OwinBuilder.Build(Action`1 startup) +40
Microsoft.Owin.Host.SystemWeb.OwinHttpModule.InitializeBlueprint() +70
System.Threading.LazyInitializer.EnsureInitializedCore(T& target, Boolean& initialized, Object& syncLock, Func`1 valueFactory) +115
Microsoft.Owin.Host.SystemWeb.OwinHttpModule.Init(HttpApplication context) +106
System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers) +534
System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context) +172
System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context) +352
System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext) +296

1 个答案:

答案 0 :(得分:0)

您不应该更改构建平台。一切都应该编译为"任何CPU"平台。

发生了LibSass_64的原始问题,因为发布过程已将LibSass.x64.dll和libsassnet.dll复制到bin目录。应从bin中删除这些程序集,并且在店面项目中有一个特殊操作来执行此操作。遗憾的是,发布过程要么不运行此操作,要么将libsass程序集复制到bin中。需要解决这个问题。

同时bin目录应包含LibSassNetProxy.dll,它将从App_Data目录加载正确版本的libsass程序集,具体取决于运行时的平台。