Отсутствует ссылка на добавление web api 2 в существующий проект веб-форм .net - PullRequest
0 голосов
/ 30 декабря 2018

У меня проблемы с добавлением web-api 2 в мои существующие проекты из-за невозможности ссылки на System.Net.Http.HttpMessageHandler

Измените приведенный ниже код

global.asax

<%@ Application Language="C#" Inherits="GlobalAsax" %>

global.asax.cs

using System.Web.Http;
using System.Web.Routing;
/// <summary>
/// Summary description for Global
/// </summary>
/// 
public class GlobalAsax
{
    public GlobalAsax()
    {
    }
    void Application_Start(object sender, EventArgs e)
    {

        // Code that runs on application startup
        RouteTable.Routes.MapHttpRoute(

            name: "Email",

            routeTemplate: "api/{controller}/{id}",

            defaults: new { id = System.Web.Http.RouteParameter.Optional }

            );
    }

При этой настройке я получаю следующую ошибку Visual Studio 2017 \ WebSites \ FSWeb \ App_Code \Global.asax.cs (23,9): ошибка CS0012: тип «System.Net.Http.HttpMessageHandler» определен в сборке, на которую нет ссылок.Вы должны добавить ссылку на сборку «System.Net.Http, версия = 4.0.0.0, культура = нейтральная, PublicKeyToken = b03f5f7f11d50a3a».

Проводя собственное исследование по этой проблеме, я вижу, что предположительно должно бытьдобавлен к web.config в области компиляции, однако мой web.config уже содержит эту строку, поэтому я не уверен, почему он не скомпилируется

Web.config

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

У кого-нибудь есть идеи о том, что я пропустил, чтобы скомпилировать его с веб-интерфейсом?

Ниже я приведу ссылки на ресурсы, которые я уже нашел и попытался (которые не удалось).

https://www.c -sharpcorner.com / UploadFile / dacca2 / реализовать веб-API-интерфейс в существующей веб-форме приложения /

Где находится глобальныйФайл .asax.cs? (используется для получения пространства имен в глобальном asax в проекте веб-сайта)

Тип 'HttpRequestMessage' определен в сборке, на которую нет ссылки

HttpResponseMessage не работает в Web Api (.NET 4.5)

...