NET core 添加了新的nuget包,部署出現Could not load file or assembly
這個坑,今天整了一天,我添加了Microsoft.AspNetCore.Mvc.Versioning包,結果發布到服務器,我復制了dll過去出現了一直找不到加載不成功的問題
Startup.ConfigureServices一直加載不成功,出錯如下:
1
2
3
4
5
6
7
8
9
|
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 無法映射加載新的包