欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

关于.net Core项目发布在Linux上的填坑

程序员文章站 2022-03-29 12:34:29
本文主要记录.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就无法正确读取了。

 

 

 

其他后续补充。。。。。。