Объект типа «System.Int32» нельзя преобразовать в тип «System.Web.Security.Cryptography.Purpose»

Я получаю эту ошибку теперь всякий раз, когда я пытаюсь построить. Я только что установил Visual Studio 2012 и.Net 4.5, но этот проект все еще находится в 2010 году.

Вот строка кода, с которой у меня проблемы:

private static MethodInfo _encode;
public static string Encode(CookieProtection cookieProtection, byte[] buf, int count)
{
  return (string)_encode.Invoke(null, new object[] { cookieProtection, buf, count });
}

Я получаю сообщение об ошибке ArgumentException was unhandled by user code: "Object of type 'System.Int32' cannot be converted to type 'System.Web.Security.Cryptography.Purpose'"В моей среде разработки ничего не изменилось, и у моих коллег -нет такой же проблемы, но у них также нет VS2012.

Я нашел статью о том, что Sitecore имеет эту ошибку, но это единственное место, где я видел, как она появляется.

Там говорят: «Это потому, что в.NET 4.5 есть какие-то новые пространства имен в System.Web»

. Их решение заключается в:

  • Удалите VS11, если он у вас установлен
  • Удаление.NET 4.5
  • Переустановите.NET 4

Это кажется нелепым решением, что 4.5 и 4 не могут быть на одной машине.

Кто-нибудь знает, что может быть причиной этого и любых других решений, прежде чем я попытаюсь -установить и повторно -установить кучу вещей?

В комментарии также говорится попробовать:но я тоже не хочу этого делать.

9
задан kamranicus 5 December 2013 в 17:46
поделиться