C# 未加载视图

C# 未加载视图,c#,razor,.net-core,C#,Razor,.net Core,我正在创建一个.net核心应用程序。 为了保持清洁,我尝试将所有不同的“服务”分开 在我的masterstartup.cs中,我运行以下命令: . ├── src/ │ ├── ProjectA/ │ │ ├── Controllers/ │ │ └── startup.cs │ ├── ProjectB/ │ │ ├── Controllers/ │ │ └── startup.cs │ ├── ProjectC/ │ │ ├── Contr

我正在创建一个.net核心应用程序。 为了保持清洁,我尝试将所有不同的“服务”分开

在我的master
startup.cs
中,我运行以下命令:

.
├── src/
│   ├── ProjectA/
│   │   ├── Controllers/
│   │   └── startup.cs
│   ├── ProjectB/
│   │   ├── Controllers/
│   │   └── startup.cs
│   ├── ProjectC/
│   │   ├── Controllers/
│   │   │   └── HomeController.cs
│   │   ├── Views/
│   │   │   ├── Home/
│   │   │   │   └── index.cshtml
│   │   │   ├── Shared/
│   │   │   │   ├── _Layout.cshtml
│   │   │   │   ├── _Nav.cshtml
│   │   │   │   └── ...
│   │   │   ├── _ViewImports.cshtml
│   │   │   └── _ViewStart.cshtml
│   │   └── startup.cs
│   └── MainProject/
│       └── startup.cs
└── project.sln
public void配置服务(IServiceCollection服务)
{
服务。添加身份验证(“承载人”)
.AddJwtBearer(“Bearer”,选项=>
{
选项。权限=”https://localhost:5001";
options.TokenValidationParameters=新的TokenValidationParameters
{
ValidateAudience=false
};
});
ProjectA.Startup.ConfigureServices(服务);
ProjectB.启动.配置服务(服务);
ProjectC.Startup.ConfigureServices(服务);
}
public void配置(IApplicationBuilder应用程序、IWebHostEnvironment环境)
{
ProjectA.Startup.Configure(应用程序、环境);
ProjectB.Startup.Configure(应用程序、环境);
ProjectC.Startup.Configure(应用程序、环境);
}
这似乎工作得很好,我所有的API端点都可用

现在,我试图在ProjectC中添加一些razor页面,但在转到
/home
页面时,出现以下错误:

这是该项目的
startup.cs

公共类启动
{
公共静态无效配置服务(IServiceCollection服务)
{
services.AddControllersWithViews();
}
公共静态无效配置(IApplicationBuilder应用程序,IWebHostEnvironment环境)
{
if(env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
其他的
{
app.UseExceptionHandler(“/Home/Error”);
}
app.UseRouting();
app.UseStaticFiles();
app.UseAuthentication();
app.UseAuthorization();
app.UseEndpoints(端点=>
{
endpoints.mapDefaultControllerOute()
.RequireAuthorization();
});
}
}
文件夹结构如下所示:

.
├── src/
│   ├── ProjectA/
│   │   ├── Controllers/
│   │   └── startup.cs
│   ├── ProjectB/
│   │   ├── Controllers/
│   │   └── startup.cs
│   ├── ProjectC/
│   │   ├── Controllers/
│   │   │   └── HomeController.cs
│   │   ├── Views/
│   │   │   ├── Home/
│   │   │   │   └── index.cshtml
│   │   │   ├── Shared/
│   │   │   │   ├── _Layout.cshtml
│   │   │   │   ├── _Nav.cshtml
│   │   │   │   └── ...
│   │   │   ├── _ViewImports.cshtml
│   │   │   └── _ViewStart.cshtml
│   │   └── startup.cs
│   └── MainProject/
│       └── startup.cs
└── project.sln
关于如何让它工作有什么想法/建议吗?我尝试了一些静态文件配置,但没有一个给我任何结果

我找到了答案

有两件事需要做:

  • 添加一个
    razor类库
    而不是普通的
    类库
  • 在csproj中添加以下内容:
    
    
    请显示视图的文件夹结构,以及用于获取视图的控制器操作。@NolanBradshaw添加了请求的信息。请尝试在返回视图时添加绝对路径,并查看它是否正确拖动。(例如“~/Views/Index.cshtml”)这通常是我解决此类问题的第一步。@找不到提供视图“~/Views/Home/Index.cshtml”的NolanBradshaw