我已经将我的应用程序(ASP.NET API)从NetCore3.1更新到Net 6。没有重大更改。要构建我的应用程序,我使用命令
dotnet发布--运行时win-x64 --自包含的-c发行版-o生成
当我在本地env上运行应用程序时,一切正常,但当我将包复制到CICD服务器时,应用程序启动时出现错误
未能加载文件或程序集“Microsoft.AspNetCore.Server.Kestrel.Transport.Quic,版本=6.0.0.0,公钥= adb 9...”。系统找不到指定的文件。
bin文件夹中有这样的dll,但版本不同(版本6.0.4,公钥以f9 ae开头)。我不明白为什么build文件夹中没有正确的版本(我发布为自包含)。我如何检查这样的DLL位于我的本地环境中的什么位置(我可以记录它)?我应该做些什么来完成迁移到NET 6?
1条答案
按热度按时间gopyfrb31#
我找到了答案,在服务器上有旧的app.runtime.json,这使得依赖关系变得混乱。
从NetCore3.1迁移到NET6时,请记住更新**[app].runtime.json**:)