Mcc 4 отсутствует ссылка для Json.Encode

Я пытаюсь вызвать метод Json.Encode(...) в MVC 4, и я получаю сообщение об ошибке: The name 'Json' does not exist in the current context.

Я попытался добавить пространство имен System.Runtime.Serialization, которое имеет класс Json, но этот конкретный экземпляр класса Json не имеет метода Encode.

Какую сборку мне не хватает?

Вот мой точный код:

{ url: '@Url.Action("DeleteDefinitionRule")', editData: 
    { companyCode: 'LO', definitionID:@Html.Raw(Json.Encode(Model.DefinitionID)) } }
  • Ссылки в проводнике решений > щелкните правой кнопкой мыши > Добавить ссылку
  • В разделе "Ассембли" > "Рамки" найдите "System.Web.Helpers". Дважды щелкните
  • System.Web.Helpers версии 2.0.0.0 и нажмите "ОК". Найдите
  • System.Web.Helpers, которые вы только что добавили > щелкните правой кнопкой мыши > свойства.
  • Измените "Скопировать локальный" с "false" на "true"

И теперь @Json.Encode должен работать.

Обновление

enter image description here

67
ответ дан 24 нояб. '12 в 15:36
источник

Чтобы быть понятным, даже после того, как вы добавили правильную ссылку на свой проект, вам все равно нужно добавить эту строку вверху страницы Razor:

@using System.Web.Helpers;
4
ответ дан 19 апр. '13 в 18:50
источник

По-видимому, если вы создаете новый пустой веб-проект и пытаетесь переместить все в области, он удаляет библиотеку Helpers. Но если вы создадите его как интернет-проект, они останутся. Я создал новый проект в качестве интернет-проекта, и теперь все работает.

0
ответ дан 26 окт. '12 в 17:25
источник