asp.net-core - 未找到应用程序依赖项 list (MyApp.deps.json) 中指定的程序集 :

标签 asp.net-core ubuntu-18.04

我的项目建于 Azure Pipelines使用 SDK 3.1.101 ,没有任何错误/警告,但在部署到主机 ( Ubuntu 18.04 ) 后,我收到错误:

Error:
    An assembly specified in the application dependencies manifest (MyApp.deps.json) was not found:
        package: 'Microsoft.Data.SqlClient', version: '1.0.19269.1'
        path: 'runtimes/unix/lib/netcoreapp2.1/Microsoft.Data.SqlClient.dll'

一点点调查指出我问题来自Microsoft.EntityFrameworkCore.SqlServer其中引用 Microsoft.Data.SqlClient .

看起来它试图从 v2.1 中找到库,对我来说有点奇怪 - 但它是 LST,所以也许......

最初在托管上只有aspnetcore-runtime-3.1 ,所以,我认为通过安装 v2.1 可以解决问题,并安装了 aspnetcore-runtime-2.1 ,然后是两个版本的 SDK,但到目前为止没有任何帮助:(

任何想法如何解决它?

最佳答案

找到了解决方法!

通过查看我的项目 ./bin/Debug/netcoreapp3.1/目录,事实上,即使我在 Windows 上构建它,它仍然会创建 runtimes/unix目录并将在 Ubuntu 中丢失的 DLL 放在那里.

所以,通过手动上传所有来自 runtimes/unix到部署机器,进入CONTENT_ROOT我的申请 - 解决了 .

附言
仍然不知道为什么在部署过程中没有上传。
但这是另一个故事;)

关于asp.net-core - 未找到应用程序依赖项 list (MyApp.deps.json) 中指定的程序集 :,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59913805/

相关文章:

ubuntu - 无法在 Ubuntu 中设置 flutter 环境变量

docker - 恢复Docker的CHMOD 666 cmd

asp.net-core - 在 URL 末尾添加尾部斜杠

asp.net-core - Swagger 版本控制不起作用。它显示所有端点,尽管选择了 API 版本

asp.net-core - 本地主机使用不受支持的协议(protocol)

asp.net-core - Entity Framework 核心 Multi-Tenancy 的最佳方法

docker-compose 构建在 WSL2 中不起作用

python - 无法使用 django 框架连接 mysql 数据库

python - Gunicorn + nginx - 忽略 EPIPE

c# - 如何在 ASP.NET Core Web API 中的每个方法中进行模型验证?