После переноса моего проекта mvc4 в mvc5 с помощью Microsoft после этого
https://docs.microsoft.com/en-us/aspnet/mvc/overview/releases/how-to-upgrade-an-aspnet-mvc-4-and-web-api-project-to-aspnet-mvc-5-and-web-api-2
Мне нужно следующее сообщение об ошибке:
System.Configuration.ConfigurationErrorsException: 'При использовании или MachineKey.Protect и MachineKey.Снять защиту с API, атрибут 'validation' должен иметь одно из следующих значений: SHA1, HMACSHA256, HMACSHA384, HMACSHA512 или alg: [KeyedHashAlgorithm].
Это конфигурация ключа компьютера: validation = "AES"расшифровка =" AES ".Мой проект использует фреймворк 4.7.2.Когда я изменяю проверку на SHA1 и расшифровываю на AUTO, это работает.Я должен заставить его работать с мыслью AES, и я не уверен, почему это работает с mvc 4, а не 5. Я также попытался добавить framework 4.7 в конфигурацию httpRuntime в web.config и получить ту же ошибку.Любая идея?Спасибо.
Новый статус 27-09-2019
Я добавил строку непосредственно перед возникновением исключения (перед использованием @ Html.AntiForgeryToken ()) для проверкичто конфигурация ключа компьютера из веб-конфигурации имеет ожидаемое значение при отладке.
MachineKeySection section = (MachineKeySection)
ConfigurationManager.GetSection ("system.web/machineKey");
Режим совместимости установлен на «Framework20SP2», но я все еще получаю сообщение об ошибке, в котором говорится, что compatibilityMode - Framework45.
Web.Config
<machineKey compatibilityMode="Framework20SP2" validationKey="..." decryptionKey="..." validation="AES" decryption="AES" />