代码之家  ›  专栏  ›  技术社区  ›  Tyler Roper

命名空间“microsoft.aspnetcore.razor”中不存在类型或命名空间名称“hosting”

  •  15
  • Tyler Roper  · 技术社区  · 7 年前

    我使用visual studio创建了一个项目 .NET Core 2.1 sdk+反应模板 .

    运行项目时遇到以下错误:

    缺少一个或多个编译引用。确保您的项目引用的是“Microsoft.NET.sdk.web”,并且“PreserveCompilationContext”属性未设置为false。

    命名空间中不存在类型或命名空间名称“hosting” “microsoft.aspnetcore.razor”(是否缺少程序集引用?)

    enter image description here

    我已经做了我能做的研究,并且尝试了以下的方法,但没有成功:

    • dotnet restore 在包管理器控制台中
    • 删除我的 bin obj 文件夹
    • 开口 _ViewImports.cshtml 添加一个 @using 对于 我的解决方案中的每个命名空间

    如果我修改 HomeController Index() 从返回 View() 改为 [HttpGet] public string Index() => "Hello World!"; ,返回的文本没有任何错误。


    索引文件

    @{
        ViewData["Title"] = "Home Page";
    }
    
    <div id="react-app">Loading...</div>
    
    @section scripts {
        <script src="~/dist/main.js" asp-append-version="true"></script>
    }
    

    家庭控制器.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 回复  |  直到 6 年前
        1
  •  30
  •   Tyler Roper    6 年前

    在发布这个消息后不久,我就解决了这个问题。

    我已经将我的项目升级到.NET Core2.1,但是其中一个参考( Microsoft.AspNetCore.All )WAS版本 2.0.8 .

    将此更新为 2.1.0 ,项目现在按预期工作。

        2
  •  6
  •   Connor Low Porkopek    6 年前

    我正在按照本教程学习.NET Core:

    Getting Started with EF Core on ASP.NET Core with a New database

    他们使用.net core 2,所以我在core2中开始了我的项目。之前,我安装了Core2.1。当我根据教程搭建控制器时,出现了这个错误。我找到了 here 下面的解决方案解决了我的问题:

    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
    

    然后我又试着用脚手架搭上一个新的控制器。这解决了问题。工作良好。