Отсутствует тип/пространство имен в ASP.NET Core MVC

Я создал пустой проект ASP.NET Core Mvc в Visual Studio для Mac, добавил несколько зависимостей

  • Microsoft.AspNetCore.Mvc (1.1.2)
  • Microsoft.AspNetCore.Mvc.Core (1.1.2)

а также импортировали пространства имен. Однако, когда я создаю новый класс HomeController и пытаюсь наследовать от класса Controller

public class HomeController : Controller

Я получаю красную волнистую линию и ошибку:

не удалось найти тип имени пространства имен «Контроллер».

Кроме того, я не могу найти файлы project.json и csproj в своем проекте.

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


person Inaloz_H    schedule 19.05.2017    source источник
comment
Вы установили пакет SDK для .NET Core? microsoft.com/net/core#macos   -  person Maria Ines Parnisari    schedule 19.05.2017
comment
Да, потому что когда я создаю проект из шаблона, я не получаю никаких ошибок. Я получаю сообщение об ошибке только при создании пустого проекта   -  person Inaloz_H    schedule 19.05.2017


Ответы (2)


Вам также необходимо сослаться на Microsoft.AspNetCore. Этот пакет содержит ссылки на ряд других пакетов, необходимых для создания приложений ASP.NET Core.

Попробуйте этот рабочий файл csproj:

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>netcoreapp1.1</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore" Version="1.1.1" />
    <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="1.1.2" />
    <PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="1.1.1" />
    <PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="1.1.1" />
  </ItemGroup>

</Project>

Кроме того, я не могу найти файлы project.json и csproj в своем проекте.

project.json устарел, поэтому вы не увидите его в своем проекте.

Однако у вас есть файл .csproj. Visual Studio для Mac представляет его как элемент LanguageFeatures в представлении в виде дерева. Вы также должны увидеть его, если вы ls находитесь в текущем каталоге.

person Nate Barbettini    schedule 19.05.2017
comment
Если вы не можете понять, как напрямую редактировать файл csproj, используйте NuGet, чтобы вручную установить по крайней мере первые две ссылки выше. - person Nate Barbettini; 19.05.2017
comment
Спасибо, но я все еще получаю ту же ошибку. Я использовал NuGet для добавления Microsoft.AspNetCore.StaticFiles и Microsoft.Extensions.Logging.Debug. пакеты и перестроил мой проект. - person Inaloz_H; 19.05.2017
comment
@Inaloz_H Вы также добавили Microsoft.AspNetCore? Можете ли вы опубликовать содержимое вашего файла csproj? - person Nate Barbettini; 19.05.2017

Итак, я, наконец, решил это, удалив и переустановив Microsoft.AspNetCore.Mvc, а затем пересобрал проект.

person Inaloz_H    schedule 19.05.2017