这是您创建的解决方案还是下载的解决方案(作为同事完成的工作或示例)?您是否在Visual Studio中安装了最新版本的NuGet,并检查了项目的已安装包 - 如果您从源代码控制或在线zip示例中下载了解决方案,则可能需要还原包。
最简单的方法是检查"Tools" > "Extensions and Updates" 中的NuGet Package Manager是否是最新版本,然后(选择适用于Visual Studio的相应项目)选择"Project" > "Manage NuGet Packages"。如果安装的包未在您的解决方案包目录中找到,则NuGet应该会提供还原这些包的选项。
或者,您可能已添加了一个依赖于该包的软件包,而您没有安装它或安装了先前版本的软件包。
要在NuGet Package Manager Console中安装包,请键入:
Install-Package Microsoft.AspNet.WebPages.Data
或搜索"Microsoft.AspNet.WebPages.Data",并在上述说明中访问的"Manage NuGet Packages"窗口中进行操作。
如果您安装了以前的软件包版本,则可能需要使用以下代码将其版本号重新映射到版本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>
我曾经遇到过类似的问题,以下是我解决问题的方法:
通过包管理器控制台(从Visual Studio)安装软件包,使用以下命令:
PM> Install-package WebMatrix.Data
PM> Install-package WebMatrix.WebData
在Web.config文件中,在<runtime></runtime>标签之间添加一个绑定重定向:
<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.我将两个dll文件从/YourProject/packages文件夹复制到/YourProject/bin文件夹中。
(可选) 如果在/YourProject/packages文件夹中找不到dll文件,请尝试在/YourProject/bin/Debug文件夹中搜索dll文件,然后将其复制/粘贴到/YourProject/bin文件夹中。
这对我解决了问题。
以下解决方案对我们有所帮助
步骤1:删除服务引用并构建应用程序(将显示错误) 步骤2:再次添加服务引用 -> 单击高级按钮 步骤3:取消选中“在引用的程序集中重用类型”,然后单击“确定” 步骤4:重新构建应用程序