如何在 Blazor WebAssembly 项目中使用 C# 9?
How to use C# 9 in Blazor WebAssembly project?
我在 Visual Studio 中创建了一个新的 Blazor WebAssembly 项目,默认情况下,它以 .NET Standard 2.1 为目标,因此使用 C# 8。
我还编写了一个为 .NET 5 编写的库,并在其中使用了 C# 9。
如何在我的 Blazor 项目中使用这个库?我无法在 .NET Standard 2.1 项目中引用 .NET 5 库。
- 当我将库的目标框架更改为 .NET Standard 2.1 时,我无法再在库项目中使用 C# 9。当我将 csproj 中的 LangVersion 显式设置为 9.0 时,我所有的记录类型都会出现一些预定义类型 System.Runtime.CompilerServices.IsExternalInit 未定义
的编译错误
- 当我将 Blazor 项目的目标框架更改为 .NET 5 并引用 .NET 5 库时,它不再工作(启动失败,出现 HTTP 错误 500.33 - ANCM 请求处理程序加载失败)
如果您需要将 Blazor WebAssembly 项目迁移到 .NET 5,请查看此内容https://docs.microsoft.com/en-us/aspnet/core/migration/31-to-50?view=aspnetcore-5.0&tabs=visual-studio#update-blazor-webassembly-projects
我在 Visual Studio 中创建了一个新的 Blazor WebAssembly 项目,默认情况下,它以 .NET Standard 2.1 为目标,因此使用 C# 8。
我还编写了一个为 .NET 5 编写的库,并在其中使用了 C# 9。
如何在我的 Blazor 项目中使用这个库?我无法在 .NET Standard 2.1 项目中引用 .NET 5 库。
- 当我将库的目标框架更改为 .NET Standard 2.1 时,我无法再在库项目中使用 C# 9。当我将 csproj 中的 LangVersion 显式设置为 9.0 时,我所有的记录类型都会出现一些预定义类型 System.Runtime.CompilerServices.IsExternalInit 未定义 的编译错误
- 当我将 Blazor 项目的目标框架更改为 .NET 5 并引用 .NET 5 库时,它不再工作(启动失败,出现 HTTP 错误 500.33 - ANCM 请求处理程序加载失败)
如果您需要将 Blazor WebAssembly 项目迁移到 .NET 5,请查看此内容https://docs.microsoft.com/en-us/aspnet/core/migration/31-to-50?view=aspnetcore-5.0&tabs=visual-studio#update-blazor-webassembly-projects