加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-16 00:03:20 所属栏目:asp.Net 来源:网络整理
导读:注意到这个奇怪的事情,也许这是一个错误,但我可能会遗漏一些东西. 假设您有一个包含两个项目的解决方案:一个是MVC3项目,另一个是数据访问类库(Entity Framework模型类,数据上下文等). 类库引用EntityFramework(EF6)和EntityFramework.SqlServer库. MVC项目
注意到这个奇怪的事情,也许这是一个错误,但我可能会遗漏一些东西.

假设您有一个包含两个项目的解决方案:一个是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;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读