這個坑,今天整了一天,我添加了Microsoft.AspNetCore.Mvc.Versioning包,結果發布到服務器,我復制了dll過去出現了一直找不到加載不成功的問題
Startup.ConfigureServices一直加載不成功,出錯如下:
Application startup exception: System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.AspNetCore.Mvc.Versioning, Version=2.2.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'. 系統找不到指定的文件。 File name: 'Microsoft.AspNetCore.Mvc.Versioning, Version=2.2.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60' at SC.API.Startup.ConfigureServices(IServiceCollection services) --- End of stack trace from previous location where exception was thrown --- at Microsoft.AspNetCore.Hosting.ConventionBasedStartup.ConfigureServices(IServiceCollection services) at Microsoft.AspNetCore.Hosting.Internal.WebHost.EnsureApplicationServices() at Microsoft.AspNetCore.Hosting.Internal.WebHost.Initialize() --- End of stack trace from previous location where exception was thrown --- at Microsoft.AspNetCore.Hosting.Internal.WebHost.BuildApplication()
后面仔細發現,添加了新的nuget包,發布后,在發布地址的目錄下 找到這個文件
*.deps.json 此文件會新增nuget包的依賴關系,比較后發現
解決方法:除業務DLL以外,還需要復制此json文件覆蓋,使得項目可以加載nuget包,不然netcore 無法映射加載新的包