【发布时间】:2021-11-12 17:22:46
【问题描述】:
我正在将旧版 .NET 2.2 Core MVC 应用程序迁移到 .NET 6。我面临的挑战之一是 Program.cs 不再调用 Startup.cs,因此我需要将所有内容迁移到 Program.cs。大多数情况下,有 1 个问题就可以了。我无法让 Serilog 在 Mac 上使用 VS Code 在调试模式下正常工作。问题是在 Windows 上使用 Visual Studio Community 2022 似乎可以正常工作。
复制我的问题:
- 确保在 Mac 上安装了 .NET 6
- 在 Mac 上打开 Visual Studio Code(我在 x64 和 Arm 上试过)
- 打开终端并创建一个文件夹
mkdir TestMVC并进入该文件夹cd TestMVC - 在终端
dotnet new mvc中创建一个vanilla MVC项目 - 在 Visual Studio Code 中打开并按照任何设置说明进行操作(例如:安装 C# 扩展、设置 .Net Core Launch (web) launch.json 和 tasks.json)
- 通过 nuget
Install-Package Serilog -Version 2.10.0添加 Serilog 并添加 Serilog.ASPNetCoreInstall-Package Serilog.AspNetCore -Version 4.1.0 - 在 Program.cs 中,在 v
ar builder = WebApplication.CreateBuilder(args);行下方添加builder.Host.UseSerilog(); - 运行和调试
它将编译,一切看起来都正常,但不会启动浏览器窗口,它会在显示所有各种 DLL 后停止。如果您注释掉 //builder.Host.UseSerilog(); 一切正常。
我不认为它是 Serilog,因为如果我在 Windows 机器上的 Visual Studio 2022 Preview 中打开完全相同的项目(没有更改),它工作正常。
有什么建议或想法可能对我有帮助吗?
【问题讨论】:
-
更新 - 使用任何操作系统版本的 VS Code(Windows 或 Mac)都会出现同样的问题
标签: asp.net-mvc visual-studio visual-studio-code serilog .net-6.0