ASP.NET Core 共享第三方依赖库部署的Bug(*.deps.json on 2.2.0 or 4.6.0 版本)

背景:

I try to put the Microsoft.*.dll and System.*.dll togather to a new folder.
以便把(第三方或)系统的和应用的dll分开。
之前花了很长的一段时间研究之后,最后:
I find xxx.deps.json can make it work.

之后我还特意写了篇文章介绍它:https://www.cnblogs.com/cyq1162/p/10542832.html

今天遇Bug了:

but today,when i update the Microsoft. Aspnetcore to 2.2.0 version.

之前框架引用的是全家桶Microsoft.AspNetCore.All,感觉发布的时候,多了太多没用的dll。

所以为了瘦身,只挑几个必要的,然后升级了一下版本,毕竟听说NetCore新版本性能更强了。

只是没想到啊。

it dose not work, and make me crazy.

because it always show me the msg like this:

F:\Code\OpenSource\Aries-GitHub\trunk\Aries.DevFramework\Web.UI_NetCore\bin\Rele ase\PublishOutput>dotnet Web.UI.dll Error: **An assembly specified in the application dependencies manifest (Web.UI.deps.js on) was not found**: package: ‘Microsoft.AspNetCore.Authentication.Abstractions‘, version: ‘2.2.0 ‘ path: ‘lib/netstandard2.0/Microsoft.AspNetCore.Authentication.Abstractions.d ll‘

and the json like this:

"Microsoft.AspNetCore.Authentication.Abstractions/2.2.0": {
        "dependencies": {
          "Microsoft.AspNetCore.Http.Abstractions": "2.2.0",
          "Microsoft.Extensions.Logging.Abstractions": "2.2.0",
          "Microsoft.Extensions.Options": "2.2.0"
        },
        "runtime": {
          "lib/netstandard2.0/Microsoft.AspNetCore.Authentication.Abstractions.dll": {
            "fileVersion": "2.2.0.18316"
          }
        }
      }

我花了N长的时间在检测配置和确定路径的正确性,不管是相对的,还是绝对的;

在服务器上,在本地上,但结果,却依旧很悲催。

甚至,我上一篇中指向把源码都下到本地了,搜了半天关键字,也没啥发现。
it take me much time to find out the question what it‘s.

发现Bug:

when i try to maike it like this:
Microsoft.AspNetCore.Authentication.Abstractions
Microsoft.AspNetCore.Authentication.Abstractions/2.2.xxx
it work.
就是这样,只要版本号不是2.2.0,它就一切正常。
之后又几次测试,发现版本号是4.6.0也同样有问题。
and then i find the version on /4.6.0 ,it does not work also.

就是这样,版本号三位数,尾数是0的,就提示找不到dll。

how ugly this bug it‘s.

解决方法:

过点时间再升一下版本,只要尾号不是以0为结尾就好,像之前一直用2.0.3版本,就很好。

或者,把版本号替换掉。

Github上也留言了,小小问题,但愿早日修复:https://github.com/dotnet/core-setup/issues/5588

最后,祝大伙玩NetCore玩的快乐。

原文地址:https://www.cnblogs.com/cyq1162/p/10612508.html

时间: 2024-11-05 18:40:24

ASP.NET Core 共享第三方依赖库部署的Bug(*.deps.json on 2.2.0 or 4.6.0 版本)的相关文章

ASP.Net Core on Linux (CentOS7) 共享第三方依赖库部署

原文:ASP.Net Core on Linux (CentOS7) 共享第三方依赖库部署 背景: 这周,心情来潮,想把 Aries 开发框架 和 Taurus 开发框架 给部署到Linux上,于是开始折腾了. 经过重重非人的坑,终于完成了任务: Aries on CentOS7:mvc.aries.cyqdata.com Taurus on CentOS7:mvc.taurus.cyqdata.com 不过在发布的过程中,发现有大堆共同的dll(100多个,20多M): 看见一大堆这些dll,

ASP.NET Core中的依赖注入(5):ServicePrvider实现揭秘【补充漏掉的细节】

到目前为止,我们定义的ServiceProvider已经实现了基本的服务提供和回收功能,但是依然漏掉了一些必需的细节特性.这些特性包括如何针对IServiceProvider接口提供一个ServiceProvider对象,何创建ServiceScope,以及如何提供一个服务实例的集合. 一.提供一个ServiceProvider对象 我们知道当将服务类型指定为IServiceProvider接口并调用ServiceProvider的GetService方法是,ServiceProvider对象本

Asp.Net Core使用System.Drawing.Common部署到docker报错问题

原文:Asp.Net Core使用System.Drawing.Common部署到docker报错问题 Asp.Net Core 2.1发布后,正式支持System.Drawing.Common绘图了,可以用来做一些图片验证码之类的功能.但是把网站部署到docker容器里运行会遇到很多问题,也是非常闹心的,本文记录这些问题,希望帮到有需要的人. 创建网站 前提条件:安装最新版VS2017和Net Core SDK 2.1. 首先新建网站,选择Asp.Net Core 2.1 Web应用程序(模型

ASP.NET Core中的依赖注入(5): ServiceProvider实现揭秘 【解读ServiceCallSite 】

通过上一篇的介绍我们应该对实现在ServiceProvider的总体设计有了一个大致的了解,但是我们刻意回避一个重要的话题,即服务实例最终究竟是采用何种方式提供出来的.ServiceProvider最终采用何种方式提供我们所需的服务实例取决于最终选择了怎样的ServiceCallSite,而服务注册是采用的ServiceDescriptor有决定了ServiceCallSite类型的选择.我们将众多不同类型的ServiceCallSite大体分成两组,一组用来创建最终的服务实例,另一类则与生命周

ASP.NET Core中的依赖注入(2):依赖注入(DI)

参考页面: http://www.yuanjiaocheng.net/ASPNET-CORE/project-layout.html http://www.yuanjiaocheng.net/ASPNET-CORE/projectjson.html http://www.yuanjiaocheng.net/ASPNET-CORE/core-configuration.html http://www.yuanjiaocheng.net/ASPNET-CORE/core-middleware.htm

ASP.NET Core中的依赖注入(5): ServiceProvider实现揭秘 【总体设计 】

本系列前面的文章我们主要以编程的角度对ASP.NET Core的依赖注入系统进行了详细的介绍,如果读者朋友们对这些内容具有深刻的理解,我相信你们已经可以正确是使用这些与依赖注入相关的API了.如果你还对这个依赖注入系统底层的实现原理具有好奇心,可以继续阅读这一节的内容. 目录一.ServiceCallSite 二.Service 三.ServiceEntry 四.ServiceTable 五.ServiceProvider 作为DI容器的体现,ServiceProvider是ASP.NET Co

ASP.NET Core使用Docker-Swarm集群部署实现负载均衡实战演练

一.需求背景 人生苦短,我用.NET Core!阿笨对Docker是这样评价的:Docker在手,环境我有!Docker出手,集群我有!前面的Doc基础课程我们学习了如何使用Docker来部署搭建单机容器应用.当一台服务器的处理能力.存储空间不足时,不要企图去换更强大的服务器,对大型网站而言,不管多么强大的服务器,都满足不了网站持续增长的业务需求.实践中会发现,生产环境中使用单个 Docker 节点是远远不够的,搭建 Docker 集群势在必行.然而,面对 Kubernetes, Mesos等众

ABP vue+asp.net core yarn serve报 Cannot find module 'typescript/package.json错误

abp的前端在node install 安装完成了相关的依赖包,直接yarn serve运行相关服务的时候报"Cannot find module 'typescript/package.json"这个异常 这个时候只需要执行 yarn install 可以了 ABP vue+asp.net core yarn serve报 Cannot find module 'typescript/package.json错误 原文地址:https://www.cnblogs.com/albert

ASP.NET Core中的依赖注入(1):控制反转(IoC)

ASP.NET Core在启动以及后续针对每个请求的处理过程中的各个环节都需要相应的组件提供相应的服务,为了方便对这些组件进行定制,ASP.NET通过定义接口的方式对它们进行了"标准化",我们将这些标准化的组件称为服务,ASP.NET在内部专门维护了一个DI容器来提供所需的服务.要了解这个DI容器以及现实其中的服务提供机制,我们先得知道什么是DI(Dependence Injection),而一旦我们提到DI,又不得不说IoC(Inverse of Control). 目录 一.流程控