我正在从Java迁移到ASP.NET,并且我正在尝试使用OWIN OAuth令牌安全性来实现WebAPI。
我遇到了这个错误:
错误1'System.Net.Http.Formatting.MediaTypeFormatterCollection'有 不包含'OfType'的定义,也没有'OfType'的扩展方法 接受第一个类型的参数 'System.Net.Http.Formatting.MediaTypeFormatterCollection'可以 发现(您是否缺少using指令或程序集引用?)
这是我的Startup类,我收到错误。
using WebApi.Controller;
using Newtonsoft.Json.Serialization;
using Owin;
using System.Net.Http.Formatting;
using System.Web.Http;
namespace WebApi
{
public class Startup
{
public void Configuration(IAppBuilder app)
{
HttpConfiguration httpConfig = new HttpConfiguration();
ConfigureOAuthTokenGeneration(app);
ConfigureWebApi(httpConfig);
app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);
app.UseWebApi(httpConfig);
}
private void ConfigureOAuthTokenGeneration(IAppBuilder app)
{
app.CreatePerOwinContext(DbContext.Create);
app.CreatePerOwinContext<UsuarioManager>(UsuarioManager.Create);
}
private void ConfigureWebApi(HttpConfiguration config)
{
config.MapHttpAttributeRoutes();
//This line is with the error in the topic
var jsonFormatter = config.Formatters.OfType<JsonMediaTypeFormatter>().First();
jsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
}
}
}
答案 0 :(得分:3)
您可能错过了对
的引用using System.Linq;
至少对我而言,这是我和你的创业公司之间的唯一区别,我的编译和运行正确。令人讨厌的是,你不能自动解决这个错误,所以很难分辨出什么是错过的。我通常不打扰运行“删除未使用的使用”,因为当我后来发现我需要在类中使用一些新代码时,通常会发生这种错误。
如果不是这样,那么请仔细检查所有nuget包和.Net版本。