SITECORE MANIA 開発者向け技術ブログ

その他

カレルスラバ

カレルスラバ

Sitecoreのセットアップで発生しやすいエラーと解決

System.Web.Mvc 読み込みエラーの原因と対処

発生した問題

Sitecore(v10.3.2)の研修プロジェクトをデプロイした際、次のようなエラーが発生しました:

ファイルまたはアセンブリ 'System.Web.Mvc, Version=5.2.7.0' を読み込めませんでした。見つかったアセンブリのマニフェスト定義は、アセンブリ参照と一致しません。」

sitecore error page

原因

プロジェクトが参照しているMVCのバージョンは 5.2.4.0 でしたが、実行時には 5.2.7.0 が要求されていたため、バージョンの不一致が原因でした。

解決方法

web.config に以下のような binding Redirect 設定を追加することで、使用するバージョンを明示的に指定しました:

変更前↓

before

変更後↓

after

これにより、常に 5.2.4.0 のSystem.Web.Mvcが使用され、エラーが解消されました。

ワンポイントアドバイス

プロジェクトの参照バージョンと web.config の設定が一致しているか、常に確認することが大切です。

補足

この設定を追加することで、たとえ一部のコードやライブラリが異なるバージョン(例:5.2.7.0)を要求していたとしても、アプリケーションは常に System.Web.Mvc バージョン 5.2.4.0 を使用するようになります。
これにより、バージョンの不一致によるエラーを防ぎ、アプリケーションの安定性が保たれます。


SitecoreでUnicornにログインできない問題の解決

発生した問題

Sitecore 10.3.2 環境にUnicornを追加し、アイテムを同期しようとしたところ、Unicorn.aspx にアクセスした際に以下のエラーが表示されました:

「Access Denied You need to sign in to Sitecore as an administrator to use the Unicorn control panel.

unicorn login error page

ログインボタンをクリックすると、Sitecore Identity Serverのログイン画面にリダイレクトされ、ログイン自体は成功しました。しかし、Unicornのコントロールパネルに戻っても同じエラーが表示され続け、ページが読み込まれませんでした。

解決方法

これは、Unicornの同期ページ /unicorn.aspx が Sitecore Identity Serverの認証バイパス設定 に含まれていないことが原因です。

以下の手順で解決できます:

  1. NuGetでUnicornの最新版(例:v4.1.1)を使うことを確認します。
  2. 以下の内容で新しい設定ファイルを作成します(例:z.unicorn.hotfix.config):
      
       <configuration>
         <sitecore>
           <pipelines>
             <owin.cookieauthentication.validateidentity>
               <processor type="Sitecore.Owin.Authentication.Pipelines.CookieAuthentication.ValidateIdentity.ValidateSiteNeutralPaths, Sitecore.Owin.Authentication">
                 <siteneutralpaths hint="list">
                   <path hint="unicorn">/unicorn.aspx</path>
                 </siteneutralpaths>
               </processor>
             </owin.cookieauthentication.validateidentity>
           </pipelines>
         </sitecore>
       </configuration>
      
     
  3. このファイルを App_Config\Include\Unicorn フォルダに配置します。

    unicorn file path for config

  4. Sitecoreを再起動(またはIISリスタート)してから、再度 Unicorn.aspx にアクセスします

unicorn error solved


ワンポイントアドバイス

Unicornを使う際、Sitecore Identityが有効な環境では、Unicorn.aspxに明示的な許可が必要です。このような認証設定のバイパス処理は .config ファイルで簡単に対応できます。

以上となります。

※エントリーの内容・画像等は、公開時点での情報に基づきます。
※Sitecoreのバージョンによって実装されている機能が異なります。

この記事を読んだ人はこちらの記事も読んでます

Sitecore導入に関するご相談・資料ダウンロード

導入をご検討・ご依頼の方や、サービスについてご不明点がございましたらお気軽にお問い合わせください。

Sitecoreの運用問題を解決する

既にSitecoreを導入しているお客様向けサービス