Jam*_*ins 6 c# asp.net asp.net-mvc-4 .net-4.5 asp.net-web-api
我有一个名为的方法GetJSONResponse(...),这是一个提取:
var response = new HttpResponseMessage(httpResponseCode)
{
Content = objectToSerialize != null ?
new ObjectContent(objectToSerialize.GetType(), objectToSerialize, new JsonMediaTypeFormatter(), JsonMediaTypeFormatter.DefaultMediaType.MediaType)
: null
};
Run Code Online (Sandbox Code Playgroud)
一切都运行良好,直到调用此方法,然后我在输入方法之前得到此错误(可能ASP.NET根据需要编译方法?):
找不到方法:'System.Net.Http.Headers.MediaTypeHeaderValue System.Net.Http.Formatting.JsonMediaTypeFormatter.get_DefaultMediaType()'.
最初我认为web.config文件(对于视图)缺少名称空间,我试图添加,但它没有解决任何问题 - 然后我意识到我实际上是通过WebAPI控制器调用它'获取'方法(不是观点).所需的DLL存在(复制到本地是真的),但这似乎仍然失败.很明显,错误意味着无法找到方法,但它编译并启动正常,因为c#文件正确引用了类型而没有问题......任何想法?
发现问题:我在主web.config文件中有一个重复的依赖引用:
错了一个:
<dependentAssembly>
<assemblyIdentity name="System.Net.Http"
publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.2.29.0" newVersion="2.2.29.0" />
</dependentAssembly>
Run Code Online (Sandbox Code Playgroud)
正确对象,真爱:
<dependentAssembly>
<assemblyIdentity name="System.Net.Http"
publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
</dependentAssembly>
Run Code Online (Sandbox Code Playgroud)
正确的一个在列表中更远,所以我没有注意到它是重复的.;)
...想一想,这也是API帮助页面出现问题的原因.ApiDescriptionExtensions.GetFriendlyId()由于这个问题也未能编译和运行,但现在可以正常工作.;)导致此错误:找不到方法:'System.Net.Http.HttpMethod System.Web.Http.Description.ApiDescription.get_HttpMethod()'.
| 归档时间: |
|
| 查看次数: |
10682 次 |
| 最近记录: |