无法加载文件或程序集'WebMatrix.Data,Version = 3.0.0.0

时间:2014-04-20 10:38:28

标签: asp.net-mvc

无法加载文件或程序集' WebMatrix.Data,Version = 3.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其中一个依赖项。系统找不到指定的文件。

4 个答案:

答案 0 :(得分:26)

这是您创建的解决方案还是已下载的解决方案(作为样本或同事完成的工作)?您是否在Visual Studio中安装了最新的NuGet数据版本,并且已检查项目的已安装软件包 - 如果您已从Source Control下载解决方案或在线下载zip样本,则可能需要还原软件包。

最简单的方法是在“工具”>中检查NuGet包管理器是否是最新的。 “扩展和更新”然后(使用在Visual Studio中选择的适用项目)选择“项目”> “管理NuGet包”。如果在解决方案包目录中找不到已安装的软件包,那么NuGet应该为您提供恢复它们。

或者,您可能添加了一个依赖于该软件包的软件包,并且您没有安装它或具有以前的版本。

在NuGet Package Manager控制台类型中安装软件包 -

  

安装包Microsoft.AspNet.WebPages.Data

或者在“管理NuGet包”窗口中搜索“Microsoft.AspNet.WebPages.Data”,可通过上述说明访问。

如果您安装了该软件包的早期版本,则可能需要使用项目配置(很可能是Web.config)文件中的以下代码将该版本号重新映射到版本3.0.0.0,以避免破坏软件包依赖于以前的版本 -

<dependentAssembly>
  <assemblyIdentity name="WebMatrix.Data" publicKeyToken="31bf3856ad364e35" culture="neutral" />
  <bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>

答案 1 :(得分:3)

我有类似的问题,我通过执行以下操作修复了它:

  1. 通过包管理器控制台安装包(来自visual studio)使用以下命令:

    PM&GT;安装包WebMatrix.Data

    PM&GT;安装包WebMatrix.WebData

  2. 在&lt; runtime&gt;&lt; / runtime&gt;之间的Web.config文件中添加绑定重定向标记:

    
    
    
    <dependentAssembly>
        <assemblyIdentity name="WebMatrix.Data" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
        <bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
       </dependentAssembly>
    
    
  3. 3.我已将以下两个dll复制到:/ YourProject / packages文件夹到/ YourProject / bin文件夹

    (可选) 如果在/ YourProject / packages文件夹中找不到dll,请尝试在/ YourProject / bin / Debug文件夹中搜索dll,然后将它们复制/粘贴到/ YourProject / bin文件夹中。

    它解决了我的问题。

答案 2 :(得分:0)

唯一对我有用的是编辑DLL的属性(右键单击解决方案资源管理器中的WebMatrix.WebData DLL并选择Properties),将“Copy Local”属性更改为true。 WebMatrix.Data DLL也是如此。

答案 3 :(得分:0)

以下解决方案帮助了我们

第1步:删除服务参考并构建应用程序(将显示错误) 第2步:再次添加服务引用 - &gt;点击提前按钮 步骤3:取消选中“在引用的程序集中重用类型”,然后单击“确定” 第4步:重建应用程序