.NET Framework 4.5インストール後のエラーについて


解説

Sitecore CMS 6.5 Update-4およびそれ以前のバージョンのCMSは、.NET Framework 4.5をサポートしていません。

.NET Framework 4.5をインストールすると、.NET Framework 4.0が上書きされます。つまり、これら2つのバージョンの.NET Frameworkを同時に実行することはできません。

.NET Framework 4.5がサーバーにインストールされており、かつアプリケーション プールの構成設定で.NET Framework 4.0が選択されているSitecore CMSアプリケーションにログインしようとすると、以下のエラーが発生します。

[ArgumentException]: Object of type 'System.Int32' cannot be converted to type 'System.Web.Security.Cryptography.Purpose'.
   System.RuntimeType.TryChangeType(Object value, Binder binder, CultureInfo culture, Boolean needsSpecialCast)
   System.Reflection.MethodBase.CheckArguments(Object[] parameters, Binder binder, BindingFlags invokeAttr, CultureInfo culture, Signature sig)
   System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
   System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   Sitecore.SecurityModel.Cryptography.MachineKeyEncryption.CookieProtectionHelperWrapper.Encode(CookieProtection cookieProtection, Byte[] buf, Int32 count)
   ...

解決策

解決策 1:
.NET Framework 4.5をアンインストールします。
解決策 2:
Sitecoreアプリケーション プールの構成設定で、.NET Framework 2.0を使用します。
解決策 3:
Web.configファイルの「Login.RememberLastLoggedInUserName」設定の値を「false」に設定します。
この解決策を適用した場合、クライアント インターフェースを使用してSitecore RSSフィードを購読する際に、同じ例外が発生することがあります。