我在网上看到了各种关于构建 .NET Core 控制台应用程序和构建 ASP.NET Core 应用程序的教程,但是我没有找到有关构建以控制台输出为起点且还包含 ASP.NET Web 应用程序的 .NET Core 控制台应用程序的内容。在这种情况下,我正在编写一个作为 Windows 或 Linux 服务运行的应用程序。它作为守护进程运行。所以现在我想添加一个 ASP.NET Core Web 接口来输出状态信息。
有没有推荐的方法?我认为我需要创建一个
有没有推荐的方法?我认为我需要创建一个
WebHostBuilder
并使用 .Build()
创建我的新 WebHost
,但我应该为此创建一个新项目并从我的控制台应用程序项目中引用它吗?如果是这样,该项目应使用哪个 SDK?我不能使用 Microsoft.NET.Sdk.Web
,因为它需要一个 Main
方法,显然如果这将被引用自具有其自己的 Main
方法的现有应用程序,则不需要这个方法,但如果我使用 Microsoft.NET.Sdk.Razor
,我似乎会遇到一堆依赖性版本冲突和错误,如:
所以我感觉我在这里缺少了一些基础知识;在 .NET Core 中将 Web 应用程序嵌入控制台应用程序中的最佳实践是什么?检测到 Microsoft.Extensions.Configuration.Abstractions 的版本冲突。直接在项目 MyProject 中安装/引用 Microsoft.Extensions.Configuration.Abstractions 2.1.1 以解决此问题。
.Web
SDK,而这不是我用于控制台应用程序的SDK。它甚至会导致VS在VS解决方案资源管理器中的项目旁边放置一个“Web应用程序”图标,因此似乎不太合适。 - Jez