【问题标题】:Occasional error: The type 'HttpRequestMessage' is defined in an assembly that is not referenced偶发错误:“HttpRequestMessage”类型是在未引用的程序集中定义的
【发布时间】:2016-12-08 10:14:01
【问题描述】:

我正在处理一个旧的 WebForms 项目。

有时它不会构建

“HttpRequestMessage”类型是在未引用的程序集中定义的。您必须添加对程序集 'System.Net.Http, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' 的引用。

上面的异常是在这一行的Request上抛出的

public class MyController : ApiController
{
    [System.Web.Http.HttpPost]
    public string Test()
    {
        string data = Request.Content.ReadAsStringAsync().Result;
    }
}

为了能够运行网站,我只需要重建解决方案(完全不做任何更改)。

知道是什么原因造成的吗?

【问题讨论】:

    标签: c# .net webforms .net-4.0


    【解决方案1】:

    在您的 web.config 中添加以下代码

    <configuration>
        <system.web>
             <compilation>
                 <assemblies>
                    <add assembly="System.Net.Http, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
                 </assemblies>
              </compilation>
        </system.web>
    </configuration>
    

    【讨论】:

    • 为什么版本是4.0.0.0,我觉得老项目应该是2.0.0.0。
    • @VinhVu - 感谢您的更新。同意您的看法。这是我的错误。我已更新此内容。
    • 谢谢,我会试试的,但你明白为什么它有时会起作用吗?
    • @Aximili - 更多详情请查看lyalin.com/2014/04/25/…
    猜你喜欢
    • 1970-01-01
    • 2015-03-29
    • 2017-01-31
    • 2010-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-04
    • 2020-12-15
    相关资源
    最近更新 更多