无法从程序集“Microsoft.Data.SqlClient,Version=5.0.0.0,Culture=neutral,PublicKeyToken=23ec7fc2d6eaa4a5”加载类型“SqlGuidCaster”

Jin*_*Lyu 5 system.data.sqlclient .net-8.0

我为.NET8创建了一个空白的webapi项目,安装了两个包Microsoft.Extensions.DependencyModel、Microsoft.Data.SqlClient\n以下是源代码\xef\xbc\x9a\nusing Microsoft.Extensions.DependencyModel; using System.Reflection; using System.Runtime.Loader; var builder = WebApplication.CreateBuilder(args); var list = DependencyContext.Default.RuntimeLibraries.ToList(); var assemblies = list.Select(m =>{ try { return AssemblyLoadContext.Default.LoadFromAssemblyName(new AssemblyName(m.Name)); }catch { return null; } }).Where(m => m != null).ToList(); foreach (var assembly in assemblies) {foreach (var type in assembly.GetTypes()) { } } app.Run();

\n

编译后会提示如标题的错误信息。\n.NET6中不存在这种情况。\n将Microsoft.Data.SqlClient改为System.Data.SqlClient时也会出现类似错误\n如何解决?太感谢了。

\n

小智 8

这是由于 Microsoft.Data.SqlClient 中的错误造成的,正如此处提到的,目前的解决方法似乎是将 Microsoft.Data.SqlClient NuGet 包更新到最新的预览版本,目前为 v5.2.0-preview3.23201.1 。我遇到了同样的问题,并且可以确认此解决方法有效。