c#-4.0 - VS 2012 项目的 App_Code 文件夹中的 HttpResponseMessage 不可用

标签 c#-4.0 visual-studio-2012 asp.net-web-api system.net.httpwebrequest

我正在编写一个 Web API 项目(MVC 架构)。我有一个实用程序类,其中包含返回 HttpResponseMessage 的方法。如果将此类放在 Utility 文件夹中,则一切正常。如果我尝试将类放在 App_Code 文件夹中,我会收到消息“找不到类型或命名空间名称‘HttpResponseMessage’。”

下面提供了发生这种情况的方法的示例。需要做什么才能在 App_Code 文件夹中将变量或方法声明为 HttpResponseMessage?

    public HttpResponseMessage GetResponseMessage<T>(T item, MediaTypeFormatter mtFormatter)
    {
        HttpResponseMessage response = new HttpResponseMessage()
        {
            Content = new ObjectContent<T>(item, mtFormatter)
        };

        return response;
    }

最佳答案

App_Code 之外的文件当 Visual Studio 调用 C# 编译器并根据 csproj 文件中的引用将适当的引用程序集 (DLL) 传递给它时进行编译。

里面的文件 App_Code当 ASP.NET 在运行时调用 C# 编译器并根据 web.config 文件中的引用将适当的引用程序集 (DLL) 传递给它时,将对其进行编译。

添加对 System.Net.Http 的引用(HttpResponseMessage 所在的程序集),打开您的 web.config 文件并在此设置中合并:

<compilation debug="true" targetFramework="4.5">
    <assemblies>
        <add assembly="System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
    </assemblies>
</compilation>

关于c#-4.0 - VS 2012 项目的 App_Code 文件夹中的 HttpResponseMessage 不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19914455/

相关文章:

visual-studio-2010 - 频繁的VS 2010速度非常慢,并且在特定的解决方案/文件上崩溃?

.net - IIS 无法连接到 LocalDB

c# - VSIX(Visual Studio 扩展) "Fonts and Colors"更改事件

c++ - 在带参数的变量和函数中找不到标识符

c++ - 调试断言失败! C++ VS2012 - 模板类

serialization - F#、Json.NET 6.0 和 Web Api - 记录类型的序列化

asp.net-web-api - 可空类型的 ModelState 验证失败

visual-studio-2010 - C# 从不同的文件夹加载 DLL?

c#-4.0 - 如何强制 Entity Framework 不要查询为 sp_executesql

c# - 加载 Matlab 程序集时流氓等待 40 秒......如何诊断原因?