【问题标题】:How do I share a class between Blazor wasm and .Net 5?如何在 Blazor wasm 和 .Net 5 之间共享课程?
【发布时间】:2020-11-22 04:27:31
【问题描述】:

我有一个 Blazor wasm 应用程序(.net 标准 2.1),我想共享一个 .Net 5 类库。我认为当 .Net 5 出现时,.net 核心和 .net 标准宇宙之间会和谐相处,但我没有在我的 .Net 5 SDK、运行时和 VS 2019 的最新版本中看到它。

当我引用 .net 5 库时,我的 Blazor 应用程序中出现项目引用错误,但如果我引用 .net 标准 2.1 库,一切都很好。

我是否必须将我的共享库降级到 .net 标准 2.1?

我正在跑步: .Net SDK:

3.1.400-preview-015203
5.0.100-preview.7.20366.6

.Net 运行时:

Microsoft.NETCore.App 3.1.2   
Microsoft.NETCore.App 5.0.0-preview.7.20364.11

VS 2019 预览:

Version 16.7.0 Preview 6.0

【问题讨论】:

  • 哪个库?一般来说,它应该可以正常工作。
  • 我自己的类库可以跨项目共享(一个“通用”项目,例如包含常量、枚举等)。

标签: .net-core blazor webassembly .net-standard-2.1 .net-5


【解决方案1】:

我有一个 Blazor wasm 应用程序(.net 标准 2.1)

当然,您也应该将其升级到 .net 5(预览版)。

在标准 Hosted Webassembly 模板中,共享类库是 net5.0 项目。

请参阅upgrade instructions

【讨论】:

  • 我确实安装了 .net 5 预览版,是的,如果我在创建项目时单击 [x] 托管选项,我确实获得了 .net 5 目标,但我的 blazor 应用程序不是托管的应用程序。
  • 那么您的 Blazor 应用程序什么平台?您说的是“(.net 标准 2.1)”,它是 net5 之前的版本。打开 csproj 文件。
  • 在 blazor wasm csproj 文件中:netstandard2.1。即使我创建了一个新的 blazor wasm 项目,我可以在 vs 中选择的最新框架是 .net std 2.1 - 除非我检查了我们讨论的托管选项。
  • 那是配置错误。无论 Hosted 复选框如何,我都可以(VS 版本 16.7.0 Preview 6.0)选择 net5。尝试更新或修复。
  • 很奇怪。我手动添加了 .net 5 标签,并对其进行了编译。然后我从头开始创建了一个新的 blazor wasm 项目(在完成了另外 5 次之后),它现在默认使用 .net 5。所以是VS2019 Preview 7的问题。感谢帮助!
猜你喜欢
  • 1970-01-01
  • 2022-10-04
  • 2015-04-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多