2013-11-20 128 views
2

我的項目框架:.NET 4.5
項目類型:MVC4
我加入了框架4.0的System.Json。
我有下面的代碼型號 - > JsonNetFormatter.cs和它的繼承MediaTypeFormatter類:類型或命名空間名稱 'FormatterContext' 無法找到.NET 4.5

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'(您是否缺少使用指令或程序集引用?)

我是否缺少任何dll或因某事否則,它會拋出一個錯誤?

回答

0

FormatterContextMVC4 RC版本

被刪除,請參閱發行說明:Release notes

來自:MSDN Forums

格式化改進:上MediaTypeFormatter的方法現在是 大衆能夠自定義格式化程序的單元測試。單個格式化程序 現在可以支持多種文本編碼。使用 BufferedMediaTypeFormatter可以實現簡單的同步格式化 支持。 FormatterContext已被刪除。要訪問 來自服務器上的格式化程序的請求實現 GetPerRequestFormatterInstance。

+0

那麼這意味着我不能在MVC4 .net 4.5中使用「FormatterContext」?但我已經將我的框架更改爲4.0,但它仍然拋出相同的錯誤。 – KomalJariwala

+0

@KomalJariwala:如果您已將Framework更改爲.NET 4,請使用nuget安裝JSON.NET,請檢查我已編輯的答案 –

+0

。 –

相關問題