SXAサイトのパブリッシュ時にSystem.IO.FileNotFoundExceptionがスローされる


解説

Sitecore Experience Accelerator (SXA) アイテムをパブリッシュすると、ログに以下のエラーが記録される場合があります。

ManagedPoolThread #2 11:22:34 ERROR One or more exceptions occurred while processing the subscribers to the 'publishingservice:publishend' event.
Exception[1]: System.IO.FileNotFoundException 
Message[1]: Could not load file or assembly 'Sitecore.Framework.Publishing.Abstractions, Version=2.1.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified. 
Source[1]: Sitecore.XA.Foundation.Publication 
   at Sitecore.XA.Foundation.Publication.Pipelines.PublishEndResultBatch.CheckMediaItemPath.Process(PublishEndResultBatchArgs args)
   at (Object , Object )
   at Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args)
   at Sitecore.Pipelines.DefaultCorePipelineManager.Run(String pipelineName, PipelineArgs args, String pipelineDomain, Boolean failIfNotExists)
   at Sitecore.Pipelines.DefaultCorePipelineManager.Run(String pipelineName, PipelineArgs args, String pipelineDomain)
   at System.Reactive.Linq.ObservableImpl.Do`1._.OnNext(TSource value)
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Reactive.ExceptionHelpers.ThrowIfNotNull(Exception exception)
   at System.Reactive.Linq.QueryLanguage.LastOrDefaultInternal[TSource](IObservable`1 source, Boolean throwOnEmpty)
   at Sitecore.Events.Event.EventSubscribers.RaiseEvent(String eventName, Object[] parameters, EventResult result) 
...

この問題の根本原因は、新しいSitecore Publishing Service Moduleバージョンが再構築されたライブラリを使用しているため、アセンブリ参照を更新する必要があることです。

この問題は下記の環境で発生します:

解決策

この問題を解決するには、次のオプションのいずれかを検討してください。

注意:Hotfixをインストールすると、ソリューションはSitecore Publishing Service 4.0.0と互換性がなくなります。