dotnet core 进行 XML 序列化抛出 XmlSerializers dll 文件找不到

时间:2022-07-25
本文章向大家介绍dotnet core 进行 XML 序列化抛出 XmlSerializers dll 文件找不到,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

在将原本的 dotnet framework 版本的 WPF 项目迁到 dotnet core 版本,在进行单元测试,发现在 XmlSerializer 抛出了 System.Private.CoreLib.XmlSerializers.dll 找不到的异常,其实这个只是在 XmlSerializer 的内部异常,可以忽略

在 dotnet core 下,使用如下代码进行 xml 序列化,其中 Foo 是我定义的类

   var xmlSerializer = new XmlSerializer(typeof(Foo));

应用将会在 VS 打开所有异常的时候,可以看到如下代码

System.IO.FileNotFoundException:“Could not load file or assembly 'C:Userslindexi.nugetpackagesmicrosoft.testplatform.testhost16.5.0buildnetcoreapp2.1x64System.Private.CoreLib.XmlSerializers.dll'. 系统找不到指定的文件。”

也就是 System.Private.CoreLib.XmlSerializers.dll 找不到的异常,其实在 .NET Core 的这个异常只是在 XmlSerializer 内部抛出,会被 XML 框架接住,上层啥都不需要做

因此,只需要忽略就可以

本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接: https://blog.lindexi.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系