You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何启动拆分代码与视图的.NET Core 6站点?

解决.NET Core 6拆分代码与视图项目的启动问题

核心问题根源

代码项目作为控制台应用,默认不会自动扫描类库项目中的视图文件;视图项目是类库类型,本身没有入口点和服务配置,无法独立启动。需要让代码项目能定位到视图项目的视图资源,同时以代码项目作为启动项运行。

具体解决步骤

1. 配置代码项目的视图查找路径

在代码项目的Program.cs中,修改AddControllersWithViews的配置,添加视图项目的视图位置:

builder.Services.AddControllersWithViews()
    .AddRazorOptions(options =>
    {
        // 替换为你的视图项目名称,路径根据实际项目结构调整
        options.ViewLocationFormats.Add("/../YourViewProject/Views/{1}/{0}.cshtml");
        options.ViewLocationFormats.Add("/../YourViewProject/Views/Shared/{0}.cshtml");
    });

如果项目使用了区域(Areas),还需补充区域视图的路径:

options.AreaViewLocationFormats.Add("/../YourViewProject/Areas/{2}/Views/{1}/{0}.cshtml");
options.AreaViewLocationFormats.Add("/../YourViewProject/Areas/{2}/Views/Shared/{0}.cshtml");

2. 调整视图项目的编译与输出设置

  • 右键视图项目 → 属性 → 生成 → 勾选将 Razor 视图编译到程序集,确保视图被正确编译。
  • 选中视图项目Views文件夹下所有.cshtml文件,右键 → 属性 → 将复制到输出目录设置为如果较新则复制,保证视图文件能同步到输出目录。

3. 设置代码项目为启动项

在解决方案资源管理器中,右键代码项目 → 选择设置为启动项目,启动后即可正常加载视图项目中的视图。

额外注意事项

  • 确保两个项目的目标框架均为.NET Core 6,避免版本兼容性问题。
  • 如果视图路径配置后仍找不到视图,可以通过绝对路径测试,确认路径正确性后再调整为相对路径。

内容的提问来源于stack exchange,提问作者user18928007

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 18:18:30