栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

记录:ET6 框架,由于 vs2019 不支持 .NET 6,在[生成解决方案]“Client-Server.sln“解决方案时会发生的报错

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

记录:ET6 框架,由于 vs2019 不支持 .NET 6,在[生成解决方案]“Client-Server.sln“解决方案时会发生的报错

ET 自己的论坛 ET社区 中的帖子内容,百度好像不能直接找到结果。记录一下,便于搜索。

首先,IDE 选择哪个版本(大家强调很多次了)

ET6 依赖.NET 6 ,IDE应当选择:VS 2022 或 Rider2021.3.x(对应支持.NET 6 的版本,可以从 Rider官方文章得到相关信息)

VS 2019、Rider2021.1.x 均不支持.NET 6,因此都无法正常使用。


VS 2019 只会在编译时报错,无法通过。

Rider 不支持.NET 6 的版本会自动提示"不完全支持.NET 6″的提示。(这一点 Rider 做的比较好,问题明确)


其次,VS 2019 的报错信息里能提炼出什么信息

现在 IDE,应该选择什么版本已经明确了。

回头看,当我错误的使用 VS2019 来[生成解决方案] “ETClient-Server.sln” 时,所发生的各种问题。

全部报错内容如图:

逐步来看几个问题,

  1. 第一个报错,“Server.Model” 出现问题,无法编译通过,也就无法生成 “Server.Model.dll”。
  2. 第二个报错,“Server.Model.dll” 缺失,现在知道是 1. 导致的报错,因为“Server.Hotfix” 依赖 “Server.Model”。
  3. 第三个报错,“Server.Model.dll” 缺失,现在知道是 1. 导致的报错,因为“Server.App” 依赖 “Server.Model”。
  4. 第四个报错,“Tools.App” 出现问题,无法编译通过,无法生成 “Tools.App.dll”。

然后来看报错信息,

  •  1. 和 3. 都是因为对 1. 的依赖导致的,所以我们只需要看 1. 和 4.的报错信息
  •  1. 和 4.相互没有关联,而且仔细阅读报错信息后,发现 1.和 4.的报错信息完全相同。

现在只需要关注一条报错信息:(如下)

无法从 C:Program FilesdotnetpacksMicrosoft.NETCore.App.Ref6.0.1analyzersdotnetcs
System.Text.Json.SourceGeneration.dll 创建分析器
System.Text.Json.SourceGeneration.JsonSourceGenerator 的实例:
未能加载文件或程序集“Microsoft.CodeAnalysis, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”或它的某一个依赖项。系统找不到指定的文件

  1. 我们知道这里引用了如下路径 C:Program FilesdotnetpacksMicrosoft.NETCore.App.Ref6.0.1analyzersdotnetcs
    System.Text.Json.SourceGeneration.dll
    也就是 .NET6 的System.Text.Json.SourceGeneration.dll
  2. 解决方案中有逻辑需要System.Text.Json.SourceGeneration.dll来创建System.Text.Json.SourceGeneration.JsonSourceGenerator的实例。
    JsonSourceGenerator是分析器运作所需要实例化的对象。
  3. 后面的“Microsoft.CodeAnalysis, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”
    可以查看这里。

类似此类*"无法创建分析器…实例: 无法加载文件或程序集'……'或其依赖项之一。找不到指定的文件。"*的报错,直接搜索的结果五花八门。

对于本例参考:

  1. 无法从C:创建分析器Microsoft.AspNetCore.Mvc.Analyzers.AvoidHtmlPartialAnalyzer的实例_weixin_34236497的博客-CSDN博客
  2. .net core 无法创建分析器Microsoft.AspNetCore.Mvc.Analyzers.AvoidHtmlPartialAnalyzer的实例 - 糯米PHP

两个例子均提到"版本支持"问题。

由此,可以认为,在"版本支持"这种平时可能不会太多见的"极端情况",很可能出现类似
"无法创建分析器…实例: 无法加载文件或程序集'……'或其依赖项之一。找不到指定的文件。"
的报错信息。

如果以后遇到类似问题,可以往"IDE 版本对自己项目依赖项版本支持与否"的方向考虑。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/903922.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号