Тип или имя пространства имен «Хостинг» не существует в пространстве имен «Microsoft.AspNetCore.Razor» - PullRequest
0 голосов
/ 12 июня 2018

Я создал проект с использованием Visual Studio .NET Core 2.1 SDK + шаблон реагирования .

При выполнении проекта я столкнулся со следующей ошибкой:

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

Тип или имя пространства имен «Хостинг» не существуетв пространстве имен «Microsoft.AspNetCore.Razor» (вам не хватает ссылки на сборку?)

enter image description here

Я провел то исследование, которое я проводилмог и попробовал следующее безрезультатно:

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

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


Index.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 sample_project.Controllers
{
    public class HomeController : Controller
    {
        public IActionResult Index()
        {
            return View();
        }

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

Ответы [ 2 ]

0 голосов
/ 30 июля 2018

Я следую этому руководству, чтобы начать работу в .net Core:

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

Они используют.net core 2, поэтому я запустил свой проект в core 2. Ранее я установил ядро ​​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

Затем я снова попытался создать новый контроллер.Это решило проблему.Работает нормально.

0 голосов
/ 12 июня 2018

Вскоре после публикации я решил проблему.

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

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

...