首页新闻找找看学习计划

.net core 2.2升级3.0 打包问题

0
悬赏园豆:20 [待解决问题]

请教下关于从2.2升级到3.0的打包问题.
准确来说是我没彻底搞明白其中的包引用关系.
首先 2.2 到3.0 有好些包MS不再生产
如下:

原话是
“To see the full list of packages that are no longer produced,”
字面的意思是“这些包再也不会再生产“!
最直白的理解应该是再也不会再升级了。
我对这句话理解有2个疑问
1:MS的意思是不是不建议我们再使用这些包,应该换更新的方法?
2:这些包你还可以继续用,我们是为了更轻量级这些包不会再被默认引用了,如有需要你自行引用即可?
我的理解更倾向于2 我觉得MS甚至还会继续升级这些包 只不过默认没引用罢了
就比如
”Microsoft.AspNetCore.Http.Features“
以上这个包也在列表中 但是 却有更新

根据这个现象 更说明应该 2 是对的

接下来就是问题
我使用了这个包
’Microsoft.AspNetCore.Http.Abstractions‘ 目前最新的版本是 2.2.0

我就想问 打包的时候这个包是怎么被引用进来的
首先
发布目录里不会有
Microsoft.AspNetCore.Http.Abstractions.dll
我看了下
deps.json文件有引用
以下是这个文件中关于 Microsoft.AspNetCore.Http.Abstractions的关键信息

特意找了个空机器只安装了 3.0 的Runtime 跑起来没问题
全局搜索了这2DLL发现只有这2地方出现

我想知道他最终是如何加载进去的
是不是安装 runtime的是否会有一个默认版本的 dll 如果使用的版本号和默认安装的版本号一样就使用默认安装的 如果用了更高版本的就会直接把这个版本的DLL 直接生成在发布文件夹中了?

Skolley的主页 Skolley | 初学一级 | 园豆:136
提问于:2019-11-21 19:52
< >
分享
所有回答(1)
0

这要看 .csproj 文件

  • 如果是 <Project Sdk="Microsoft.NET.Sdk.Web"> ,会自动包含 Microsoft.AspNetCore.App
  • 如果是 <Project Sdk="Microsoft.NET.Sdk"> ,需要通过 FrameworkReference 引用 Microsoft.AspNetCore.App
<ItemGroup>
  <FrameworkReference Include="Microsoft.AspNetCore.App" />
</ItemGroup>
dudu | 园豆:39190 (高人七级) | 2019-11-21 20:14

Microsoft.AspNetCore.App 究竟包含哪个版本的包取决于 .net core sdk 的版本

支持(0) 反对(0) dudu | 园豆:39190 (高人七级) | 2019-11-21 20:16

@dudu: 是的
我目前用的是3.0的SDK
我的最终疑问是
他默认是怎么帮我引用到
'Microsoft.AspNetCore.Http.Abstractions' 2.2.0 的这个版本的包

支持(0) 反对(0) Skolley | 园豆:136 (初学一级) | 2019-11-21 20:28

@Skolley: 不应该引用这个版本的 nuget 包,建议提供一下 .csproj 中的配置,或者看一下其中是否有 Microsoft.AspNetCore.App 的引用

支持(0) 反对(0) dudu | 园豆:39190 (高人七级) | 2019-11-21 20:33

@dudu: 6666我懂了 我之前一直i在看我的 web项目 忘记看我分出去的项目了
确实 是我i外面的项目里 没用 Microsoft.AspNetCore.App

那我还是有那个问题 我用了 nuget 2.2.0 的包了 那他这个dll 到底在哪?
我看了下默认安装 runtime 的 版本号 是 ‘’

支持(0) 反对(0) Skolley | 园豆:136 (初学一级) | 2019-11-21 20:44

@Skolley: 在 C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\2.2.0 中,如果没有,那就在 C:\Users\Administrator\.nuget\packages\microsoft.aspnetcore.http.abstractions\2.2.0\lib\netstandard2.0

支持(0) 反对(0) dudu | 园豆:39190 (高人七级) | 2019-11-21 21:03

@dudu: 终于 找到了
原来在 Swashbuckle.AspNetCore 这个里面引用了 很多 2.x的东西
他还没完全升上去

支持(0) 反对(0) Skolley | 园豆:136 (初学一级) | 2019-11-21 23:47
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册