1

我已经创建了asp.net核心基础MVC应用程序使用Visual Studio 2017年 我试图渲染index.cshtml控制台应用程序 - 无法服务

的时候得到一个错误剃刀意见在编译处理此请求所需的资源时发生错误。请查看以下具体的错误细节并适当修改您的源代码。

生成的代码

缺少一个或多个编译引用。可能的原因 包括下应用程序的project.json “buildOptions”失踪“preserveCompilationContext”属性。

类型或命名空间名称“系统”找不到使用系统(你 缺少using指令或程序集引用?)

+ ;

...

我的整个控制台应用程序是一样短,因为它可以:

using Microsoft.AspNetCore.Builder; 
using Microsoft.AspNetCore.Hosting; 
using Microsoft.AspNetCore.Mvc; 
using Microsoft.Extensions.DependencyInjection; 
using System; 
using System.IO; 

namespace ConsoleApp1 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      Console.WriteLine("Hello World!"); 
      var host = new WebHostBuilder() 
       .UseContentRoot(Directory.GetCurrentDirectory()) 
       .UseKestrel() 
       .UseStartup<Startup>() 
       .Build(); 

      host.Run(); 
     } 
    } 

    class Startup 
    { 
     public void ConfigureServices(IServiceCollection services) 
     { 
      services.AddMvc(); 
     } 

     public void Configure(IApplicationBuilder app) 
     { 
      app.UseDeveloperExceptionPage(); 
      app.UseMvc(); 
     } 
    } 

    public class HomeController : Controller 
    { 
     [HttpGet("/")] 
     public ActionResult Index() 
     { 
      ViewBag.Message = "Hello world!"; 
      ViewBag.Time = DateTime.Now; 

      return View(); 
     } 
    } 
} 

我的 “项目”

Structure of my project

查看

结构

Index.cshtml

这很有趣,因为错误告诉我必须更改project.json中的某些内容,但是自Visual Studio 2017以来,不再有project.json。

我的看法其实是简单的静态HTML文件,不需要任何对模型或任何东西的引用。但是,错误都在抱怨缺少类型:

enter image description here

我想我的项目比较web应用程序模板,但我还没有发现是什么导致剃刀的观点不是建立在控制台应用程序。

我在这里错过了什么?

回答

2

尝试增加

<PropertyGroup> 
    <PreserveCompilationContext>true</PreserveCompilationContext> 
</PropertyGroup> 

您的csproj。为了避免下次出现此类错误,请使用创建新项目时可以找到的ASP.NET Core模板。他们有必要的东西和常用的软件包添加到它的csproj。

+0

谢谢。有效。在web应用程序模板的.csproj文件中仍然存在奇怪的设置。 –

+0

至少从您的屏幕截图看来,您似乎没有使用ASP.NET Core模板,因为ASP.NET核心模板未命名为“ConsoleAppX”,而是“WebApplicationX” – Tseng

0

有一个不同的SDK可供使用。

控制台应用程序使用:​​

Web Apps的使用:Microsoft.NET.Sdk.Web

这可以在*进行更新。csproj

相关问题