Тип или имя пространства имен "хостинг" не существует в пространстве имен " Microsoft.AspNetCore.Бритва

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

решение о День и состоит из двух проектов. Одним из них является приложение (созданное с помощью Visual Studio .NET Core 2.1 SDK + шаблон реакции), а другой-уровень данных (который является просто ).

слой данных был реализован сегодня,и именно тогда все пошло не так. Я не хочу сразу показывать на это пальцем., потому что это могло произойти с некоторыми другими изменениями, которые я делал в то же время.

отсутствует одна или несколько ссылок на компиляцию. Убедитесь, что ваш проект ссылается на " Microsoft.Сеть.Sdk.Web "и свойство" PreserveCompilationContext " не имеет значения false.

имя типа или пространства имен 'хостинг' не существует в пространстве имен 'Майкрософт.AspNetCore.Razor '(вы пропускаете сборку ссылка?)

enter image description here

Я сделал свою долю исследований, и не может решить эту проблему. Я пытался...

  • dotnet restore в консоли диспетчера пакетов
  • удаление bin и obj папки
  • Открытие _ViewImports.cshtml и добавить @using на каждое пространство имен в моем решении

если я изменю HomeController Index() С возвратом View() вместо [HttpGet] public string Index() => "Hello World!";, текст возвращается без каких-либо ошибок.


.cshtml по

@{
    ViewData["Title"] = "Home Page";
}

<div id="react-app">Loading...</div>

@section scripts {
    <script src="~/dist/main.js" asp-append-version="true"></script>
}

HomeController.cs

using System.Diagnostics;
using Microsoft.AspNetCore.Mvc;

namespace world_cup_pools.Controllers
{
    public class HomeController : Controller
    {
        public IActionResult Index()
        {
            return View();
        }

        public IActionResult Error()
        {
            ViewData["RequestId"] = Activity.Current?.Id ?? HttpContext.TraceIdentifier;
            return View();
        }
    }
}

2 ответов


вскоре после публикации этого я решил проблему.

я обновил свой проект до .NET Core 2.1, но одна из ссылок (Microsoft.AspNetCore.All) была версия 2.0.8.

при обновлении это 2.1.0 проект теперь работает, как ожидалось.


Я делаю ниже учебник, чтобы начать работу в .net Core.

начало работы с EF Core on ASP.NET ядро с новой базой данных

они используют .net core 2. Поэтому я начал свой проект в core 2. Ранее я установил core 2.1. когда я строю контроллер в соответствии с учебником, я получил эту ошибку.Я нахожу здесь ниже решение, которое решает мою проблему.

enter image description here

Итак, в моей visual studio консоль диспетчера пакетов, я запускаю после трех команд--

Install-Package Microsoft.AspNetCore.All -Version 2.0.8
Install-Package Microsoft.EntityFrameworkCore.Tools -Version 2.0.3
Install-Package Microsoft.VisualStudio.Web.CodeGeneration.Design -Version 2.0.1

затем я снова попытался построить новый контроллер. На этот раз все проблемы исчезли. Работать отлично.