本文主要記錄.net Core項目發佈在Linux伺服器上面所遇到的問題,防止遺忘是 1、在發佈文件中執行 dotnet xxxxxx.dll的時候提示如下錯誤: An assembly specified in the application dependencies manifest (xxx. ...
本文主要記錄.net Core項目發佈在Linux伺服器上面所遇到的問題,防止遺忘是
1、在發佈文件中執行 dotnet xxxxxx.dll的時候提示如下錯誤:
An assembly specified in the application dependencies manifest (xxx.deps.json) was not found:
package: 'Swashbuckle.AspNetCore.Swagger', version: '1.0.0'
path: 'lib/netstandard1.6/Swashbuckle.AspNetCore.Swagger.dll'
解決:
一開始我在Linux上面是可以正常發佈改項目的(A壓縮文件),但是又一次委托同事電腦發佈更新之後發現無法發佈了(B壓縮文件)。根據提示我查看了A,B兩個發佈包中的xxx.deps.json後
發現部分sdk版本不一樣,B中有些SDK版本為2.0.3.。然後在Linux中 dotnet --version發現目前dotnet sdk版本為2.0.0,更新為2.0.3(或者以上)之後發現程式可以正常發佈了。
2、無法讀取本地文件
解決:將所有文件引用地址改為相對地址。(不要用絕對地址)
這個問題有一個補充。項目中的菜單是根據讀取本地的一個dataClient.json文件來生成的。然後在windows中可以正常讀取。發佈到Linux中有無法讀取了。檢查後發現程式中讀取的文件名稱為“dataClient.Json”。文件尾碼大小寫不准確,但是在windows中可以正確讀取,Linux就無法正確讀取了。
其他後續補充。。。。。。