Asp.net 核心 - Web Api 在 Class 图书馆

Asp.net core - Web Api on Class Library

我正在尝试制作 n 层应用程序,其中 Web api 保存在不同的 class 库中。我在另一个 class 库中制作了一个 TestController 控制器 class,我的代码是这样的

using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;

namespace PkrUni.SMS.Api
{
    [ApiController]
    [Produces("application/json")]
    [Route("api/[controller]")]
    public class TestController : ControllerBase
    {
        public IEnumerable<string> Get()
        {
            return new string[] { "Chris", "Hadfield" };
        }
    }
}

现在我的问题是如何在我的主项目上访问这个网站 api。我已经在主项目中添加了对 class 库的引用,但它不起作用。我的 api 不工作。 404 找不到页面 尝试访问 api 时出现错误。 这是我的项目结构。

我做错了什么请帮助我。

尝试在 razor class 库中安装 Microsoft.AspNetCore.Mvc 包。 在 startup.cs 中使用:

services.AddMvc().AddApplicationPart(Assembly.Load(new AssemblyName("PkrUni.SMS.Area.Api")));

参考

我通过创建 asp.net core2.2 MVC 项目和 razor class 库来测试您的场景,没有任何问题。下面是我的结构: