找不到类型或命名空间名称'FormatterContext'.net 4.5

时间:2013-11-20 12:13:47

标签: c# asp.net json asp.net-mvc-4 .net-assembly

我的项目框架:.net 4.5
项目类型:MVC4
我添加了框架4.0的System.Json 我在模型中有以下代码 - > JsonNetFormatter.cs并且它继承了 MediaTypeFormatter 类:

protected override System.Threading.Tasks.Task<object> OnReadFromStreamAsync(Type type, System.IO.Stream stream, System.Net.Http.Headers.HttpContentHeaders contentHeaders, FormatterContext formatterContext)
        {
            var task = Task<object>.Factory.StartNew(() =>
                {
                    var settings = new JsonSerializerSettings()
                    {
                        NullValueHandling = NullValueHandling.Ignore,
                    };

                    var sr = new StreamReader(stream);
                    var jreader = new JsonTextReader(sr);

                    var ser = new JsonSerializer();
                    ser.Converters.Add(new IsoDateTimeConverter());

                    object val = ser.Deserialize(jreader, type);
                    return val;
                });

            return task;
        }

但是当我要构建解决方案或我的项目时,它会抛出以下错误:

找不到类型或命名空间名称'FormatterContext'(您是否缺少using指令或程序集引用?)

我错过了任何dll还是因为别的东西,它会抛出错误?

1 个答案:

答案 0 :(得分:0)

FormatterContext RC版

中删除了

MVC4

请参阅发行说明:Release notes

来自:MSDN Forums

  

格式化程序改进:现在是MediaTypeFormatter上的方法   public以启用自定义格式化程序的单元测试。单个格式化程序   现在可以支持多种文本编码。使用   BufferedMediaTypeFormatter实现简单的同步格式化   支持。 FormatterContext已被删除。获取访问权限   来自服务器工具上的格式化程序的请求   GetPerRequestFormatterInstance。