情景再现

在ASP.NET MVC 4中,新建项目时,如果选择的是“Internet Application”模板,那么WebMatrix.WebData和WebMatrix.Data会自动引用,但是如果选择的是“Empty”模板,就要自己引用这两个程序集了。正常引用,但是有时运行程序还是会出现“ 未能加载文件或程序集“WebMatrix.WebData”或它的某一个依赖项。系统找不到指定的文件。”的错误,如下图所示:

“未能加载文件或程序集“WebMatrix.WebData”或它的某一个依赖项”的解决方法-程序旅途

分析错误

既然引用了这个程序集,还是提示未能加载,要么是它的依赖项没有引用,要么是它自己没有复制到bin目录中。先来看看是不是它的依赖项没有引用。

“未能加载文件或程序集“WebMatrix.WebData”或它的某一个依赖项”的解决方法-程序旅途

WebMatrix.Web.Data.ExtendedMembershipProvider继承自System.Web.Security.MembershipProvider,而System.Web.Security位于System.Web.dll中,这个程序集引用了。那么再来看看bin目录中有没有WebMatrix.WebData.dll呢。

解决办法

既然找到原因就好办了。在项目引用里面,找到WebMatrix.WebData和WebMatrix.Data,右击,选择属性,将“复制本地”设置为true。