Не удалось найти тип или имя пространства имен ApiController - Nuget установлен. - PullRequest
1 голос
/ 11 июля 2020

FrameWork: . Net Framework 4.7.2.

Web api проект: после получения кода из git (работал и скомпилировался на другом локальный компьютер) и пытается построить, получая:

**The type or namespace name 'ApiController' could not be found (are you missing a using directive or an assembly reference?)**

в отношении всех атрибутов и ключевых слов класса, унаследованных apiController: ApiController, HttpPost, FromBody, et c.),

using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Web.Http;

namespace POC_Book_Api.Controllers
{
    public class MyController : ApiController
    {
        
        [HttpPost]
        public void Post([FromBody] SomeCollection items)

Сборка System.Web упоминается в Справочниках проекта. Nuget Microsoft.As pNet .Api установлен и обновлен в проекте.

Что мне здесь не хватает?

Ответы [ 2 ]

1 голос
/ 11 июля 2020

Решением было переустановить (удалить + установить) соответствующие пакеты. Проблема заключалась в том, что при удалении с помощью диспетчера пакетов Nuget он фактически не удалял его, потому что от него зависели другие пакеты Nuget. Я узнал об этом только после того, как сделал это с помощью консоли диспетчера пакетов. Я удалил все зависимости - затем сам nuget, а затем снова установил

1 голос
/ 11 июля 2020

Попробуйте переустановить пакет через Консоль управления пакетами:

Install-Package Microsoft.AspNet.WebApi

Убедитесь, что у вас выбран правильный проект, а источником пакета является nuget.org:

введите описание изображения здесь

...