【问题标题】:Visual Studio upgrade to 2017 15.5.3 breaks solutionVisual Studio 升级到 2017 15.5.3 破解解决方案
【发布时间】:2018-01-10 21:48:39
【问题描述】:

我在 dotnet core 2.0 中有一个 webapi,我从中引用了一个旧的 dll (.net 3.5),主要用于访问数据库的数据。每次我运行解决方案时都会遇到

System.IO.FileLoadException: '无法加载文件或程序集 'System.Data.SqlClient,版本=4.2.0.1,文化=中性, PublicKeyToken=b03f5f7f11d50a3a'。定位程序集的清单 定义与程序集引用不匹配。 (例外来自 HRESULT: 0x80131040)'

在 VS 更新到版本 15.5.3 之前一切正常

【问题讨论】:

  • 您的一个项目引用已损坏。不确定是否可以提供任何“答案”,除了建议您分析项目和依赖关系并找出哪个参考被破坏。也许使用 dotPeek..?
  • 你能组织一个重现这个问题的项目吗?另外,它之前在哪个版本中工作? 15.5.2?
  • SQL Server 支持在 .NET Core 2.0 中本机提供,那么您究竟为什么需要任何额外的参考?

标签: c# visual-studio-2012 .net-core asp.net-core-webapi


【解决方案1】:

我的 webapi(也是 netcoreappp2.0)和 VS2017 15.5.3 也有同样的问题。

API 正在使用带有“Systam.Data.SqlClient”提供程序的 ADO 连接。我所做的是从 NuGet(版本 4.4.2)安装 Systam.Data.SqlClient 包。在此之后,异常不再被抛出。

【讨论】:

  • 在 net core 2.0 中制作了一个 Api,通过反射它使用了一个需要 system.data.sqlclient 的旧 dll(不是我的)。它几天前停止工作,现在它再次通过 nuget Systam.Data.SqlClient 在 Api 上安装。谢谢。
【解决方案2】:

在项目中使用网络标准 2.0 库时出现此错误。我终于发现了一个错误的格式错误。确保项目平台与我的案例 x64 匹配。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-13
    • 2017-04-23
    • 1970-01-01
    • 2015-11-28
    • 2018-10-17
    • 1970-01-01
    • 2016-05-23
    • 1970-01-01
    相关资源
    最近更新 更多