1

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

通过 Git 将我的本地环境从 2.9 更新到 2.10。将管理器应用发布到 Azure。(在 Azure 上覆盖 2.9)将 Storefront 发布到 Azure。(在 Azure 上覆盖 2.9)

我收到无法加载 LibSass_64 的 Typeload 错误。意识到我的开发机器是 x64 但 Azure 服务器是 x86,所以我将两个解决方案中的构建配置更改为 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
4

1 回答 1

0

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

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

同时 bin 目录应该包含 LibSassNetProxy.dll,它将在运行时根据平台从 App_Data 目录加载正确版本的 libsass 程序集。

于 2016-04-28T21:05:00.373 回答