У меня проблемы с добавлением 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)