关于.net Core项目发布在Linux上的填坑
本文主要记录.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就无法正确读取了。
其他后续补充。。。。。。
上一篇: 设置U盘只读方式
下一篇: NPOI导出Excel及使用问题