.NETCore.App框架传递依赖精确版本检查及SDK包查询方法问询
检查项目中依赖包的实际版本
针对你提到的System.Text.RegularExpressions这类框架传递依赖,有几种方式确认项目实际使用的版本:
- 直接查看项目资产文件:在项目的
obj目录下找到project.assets.json,搜索目标包名(比如System.Text.RegularExpressions),查找对应的version字段,这个值就是项目构建时实际加载的版本。 - 使用.NET CLI命令:
- 查看项目直接依赖和传递依赖:执行
dotnet list <项目路径> package --include-transitive,输出会列出所有依赖包的版本。 - 查看还原时的详细依赖日志:执行
dotnet restore --verbosity detailed,在输出中搜索目标包名,能看到版本解析过程和最终选定的版本。
- 查看项目直接依赖和传递依赖:执行
- 检查项目文件(.csproj):如果依赖是显式声明的,直接在
.csproj的<PackageReference>节点中查看版本号;但框架自带的传递依赖通常不会显式声明,优先用上面两种方法。
对比GitHub官方版本
System.Text.RegularExpressions是.NET Runtime的核心组件,其版本与.NET SDK/Runtime版本强绑定:
- 你使用的是.NET 6.0.15,对应的组件版本通常和Runtime版本一致。可以直接查看dotnet/runtime仓库的
v6.0.15标签,该标签下的组件版本就是官方框架自带的版本。 - 若该包是通过NuGet单独安装的(非框架传递依赖),则对比NuGet上的官方稳定版本即可,可通过
dotnet nuget list package System.Text.RegularExpressions查看NuGet上的可用版本。
查看SDK安装时拉取的所有包信息
- 查看本地SDK包缓存:
- Windows:路径为
C:\Users\<你的用户名>\.nuget\packages - Linux/macOS:路径为
~/.nuget/packages
该目录下按包名和版本分类存储了所有通过SDK拉取的NuGet包。
- Windows:路径为
- 查看SDK自带的框架包:
SDK安装目录下的packs文件夹(Windows:C:\Program Files\dotnet\packs;Linux/macOS:/usr/share/dotnet/packs),里面存放了SDK自带的框架相关包,每个包对应不同的版本目录。 - 使用CLI查看本地缓存状态:执行
dotnet nuget locals all --list,会列出所有NuGet本地缓存的路径,包括SDK相关的包缓存位置。
内容的提问来源于stack exchange,提问作者S7H
相关产品推荐
相关产品推荐

