背景:
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玩的快乐。