如何创建 ASP.NET 核心 class 库

How to create an ASP.NET Core class library

我想为我正在处理的项目使用 Visual Studio 围绕剃刀页面、组件、视图等的工具。

场景如下:我想要一个可插入的主要 Web 应用程序,因此不应直接引用插件(它们是 class 库)。

到目前为止我所做的是更改项目文件并将 SDK 更改为 Microsoft.NET.Sdk.Web

您可以通过 GitHub-link.

重现此问题

不过我现在改的项目有"connected services"和launchSettings.json.

这是我可以忽略的行为,还是项目会因我所做的更改而产生副作用?

您正在寻找的(以及切换到 SDK 的目的)是 Razor Class 库,简称 RCL。看起来您可能是从 ASP.NET 核心站点开始的,这可以解释 launchSettings.json 的存在。 RCL 类似于 ASP.NET 核心站点,因为您可以包含大部分相同的内容:控制器、视图、Razor 页面、视图组件、标签助手、静态文件等。但是,值得注意的是,您不会Program.csStartup.cslaunchSettings.json 或任何配置文件,如 appsettings.json。这是因为,归根结底,它只是一个图书馆,而不是独立运行或独立存在的东西。您可以使用 IConfiguration/IOptionsILogger 等标准抽象,但这些的实际实现将来自您的应用程序,而不是库。您应该查阅 documentation 了解更多信息。