.net Aspnet核心Razor视图编译失败

.net Aspnet核心Razor视图编译失败,.net,asp.net-mvc,razor,.net-core,.net,Asp.net Mvc,Razor,.net Core,当我尝试启动我的项目时,我的主端点不起作用。 我可以看到它在断点中点击HomeController并返回失败的视图。 我的其他Api端点工作正常,例如: /空气污染指数/数值/ 我试图在本地运行它,但计划部署到AWS Lambda 我有3个控制器: 家庭控制器 S3ProxyController 值控制器 但是当我尝试访问我的主控制器时,它应该返回一个简单的视图,我得到以下错误: 我已经添加了我的csproj: <Project Sdk="Microsoft.NET.Sdk">

当我尝试启动我的项目时,我的主端点不起作用。 我可以看到它在断点中点击HomeController并返回失败的视图。
我的其他Api端点工作正常,例如: /空气污染指数/数值/

我试图在本地运行它,但计划部署到AWS Lambda

我有3个控制器:

  • 家庭控制器
  • S3ProxyController
  • 值控制器
但是当我尝试访问我的主控制器时,它应该返回一个简单的视图,我得到以下错误:

我已经添加了我的csproj:

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

  <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
    <OutputType>exe</OutputType>
  </PropertyGroup>

  <PropertyGroup>
    <TargetFramework>netcoreapp1.0</TargetFramework>
    <OutputTypeEx>exe</OutputTypeEx>
    <PreserveCompilationContext>true</PreserveCompilationContext>
  </PropertyGroup>

  <ItemGroup>
    <Content Include="appsettings.json">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </Content>
  </ItemGroup>  

  <ItemGroup>

    <PackageReference Include="Microsoft.AspNetCore.Diagnostics" Version="1.1.2" />

    <PackageReference Include="Microsoft.AspNetCore.Mvc.Razor.ViewCompilation" Version="1.1.1" />

    <PackageReference Include="Microsoft.AspNetCore.Server.IISIntegration" Version="1.0.0" />
    <PackageReference Include="Microsoft.AspNetCore.Server.Kestrel" Version="1.0.1" />

    <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="1.0.1" />
    <PackageReference Include="Microsoft.AspNetCore.Routing" Version="1.0.1" />
    <PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="1.0.0" />
    <PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="1.0.0" />
    <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="1.0.0" />
    <PackageReference Include="Microsoft.Extensions.Logging" Version="1.0.0" />
    <PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="1.0.0" />


    <PackageReference Include="AWSSDK.S3" Version="3.3.5.13" />
    <PackageReference Include="AWSSDK.Extensions.NETCore.Setup" Version="3.3.0.3" />

    <PackageReference Include="Amazon.Lambda.Core" Version="1.0.0" />
    <PackageReference Include="Amazon.Lambda.Serialization.Json" Version="1.1.0" />
    <PackageReference Include="Amazon.Lambda.AspNetCoreServer" Version="0.10.1-preview1" />
    <PackageReference Include="Amazon.Lambda.Logging.AspNetCore" Version="1.0.0" />
  </ItemGroup>

  <ItemGroup>
    <DotNetCliToolReference Include="Amazon.Lambda.Tools" Version="1.5.0" />
  </ItemGroup>

  <ItemGroup>
    <Folder Include="wwwroot\" />
  </ItemGroup>

</Project>

我打赌您的一个视图中有错误,请尝试重新生成,看看是否出现特定错误。

其他具有视图的控制器是否正常工作?尝试使用基本视图创建新控制器(而不是api)。请提供主控制器代码,并尝试更新.Net Core packagesAdded HomeController。这或多或少是简单的:)添加了AccountController,它会收到相同的错误消息。@Kiksen我猜您是在尝试将MVC添加到现有的AWS无服务器示例项目中,对吗?好消息是你没有疯;同样的错误也发生在我身上。坏消息是我没有任何有用的信息来修复它(经过进一步搜索,我发现了这个问题,这表明Lambda目前不支持Razor模板:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;

namespace TestLambda
{
    public class Startup
    {
        public const string AppS3BucketKey = "AppS3Bucket";

        public Startup(IHostingEnvironment env)
        {
            var builder = new ConfigurationBuilder()
                .SetBasePath(env.ContentRootPath)
                .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
                .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true);

            builder.AddEnvironmentVariables();
            Configuration = builder.Build();
        }

        public static IConfigurationRoot Configuration { get; private set; }

        public void ConfigureServices(IServiceCollection services)
        {
            services.AddMvc();
            services.AddDefaultAWSOptions(Configuration.GetAWSOptions());
            services.AddAWSService<Amazon.S3.IAmazonS3>();
        }

        public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
        {
            loggerFactory.AddLambdaLogger(Configuration.GetLambdaLoggerOptions());

            app.UseMvc();
            app.UseDeveloperExceptionPage();

            app.UseMvcWithDefaultRoute();
        }
    }
}
using System;
using Microsoft.AspNetCore.Mvc;

namespace TestLambda.Controllers
{
    public class HomeController : Controller
    {

        public IActionResult Index()
        {         
            return View(); // Breakpoint get's hit during debuging.
        }

        public IActionResult Error()
        {
            return View();
        }
    }
}