在为WCF服务生成类型时,.NET加载了寻找另一个版本的程序集

尝试在Visual Studio 2013中向ASP.NET Web应用程序添加服务引用时出现此错误。我在项目中引用了Microsoft.Owin.Security版本2.1.0.0。 但是我很沮丧他为什么要寻找2.0.1.0版本?

无法导入wsdl:portType详细信息:运行WSDL导入扩展时抛出exception:System.ServiceModel.Description.DataContractSerializerMessageContractImporter错误:无法加载文件或程序集’Microsoft.Owin.Security,Version = 2.0.1.0,Culture = neutral, PublicKeyToken = 31bf3856ad364e35’或其依赖项之一。 该系统找不到指定的文件。

我找到并发布了关于HélderGonçalves这个问题版本的可能解决方案。 希望它允许您生成服务引用,而无需重定向到较旧版本的Microsoft.Owin.Security程序集。 如果这对你有用,请告诉我。

根据Rizier123的建议,这里是我的解决方案中的文字:

有完全相同的错误逐字,并能够通过指定要重用类型的程序集来解决它。

添加服务引用时,单击“ 添加服务引用”窗口左下角的“ 高级…”按钮。 在“ 服务引用设置”屏幕上,在“ 数据类型”部分的“ 所有引用的程序集中重用类型:”复选框下,选中“ 在指定的引用程序集中重用类型”单选按钮,然后仅检查包含服务使用的类型的程序集。 这应该可以解决问题。

实际安装和引用的组件版本因各种因素而异。 无论如何,您可以将绑定重定向到所需的版本。 参考此链接

在您的情况下,您必须web.config添加到configuration下的web.config