asp.net-mvc – EntityFramework.SqlServer未在Web发布中部署

注意到这个奇怪的事情,也许这是一个错误,但我可能会遗漏一些东西.

假设您有一个包含两个项目的解决方案:一个是MVC3项目,另一个是数据访问类库(Entity Framework模型类,数据上下文等).

类库引用EntityFramework(EF6)和EntityFramework.sqlServer库.

MVC项目引用了这个类库DAL. DAL库可以由应用程序之外的某些其他代码使用,因此可以将其与Web项目分离.

无论如何,似乎在发布MVC3项目时,该进程错过了将EntityFramework.sqlServer程序集复制到publish / bin目录.但是,它确实发布了基本的EntityFramework dll以及其他库和类库本身.

有没有办法让发布者也发布所需的sqlServer驱动程序?

解决方法

好吧,所以在一些额外的Google-fu之后,似乎解决方法是创建对缺少的程序集的一些引用,即使代码未使用.

.NET MVC 3 Deployment package missing references

我使用的解决方法是在数据上下文的构造函数添加简单的测试行:

bool instanceExists = System.Data.Entity.sqlServer.sqlProviderServices.Instance != null;

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....