在将原本的 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:\Users\lindexi\.nuget\packages\microsoft.testplatform.testhost\16.5.0\build\netcoreapp2.1\x64\System.Private.CoreLib.XmlSerializers.dll'. 系统找不到指定的文件。”
也就是 System.Private.CoreLib.XmlSerializers.dll
找不到的异常,其实在 .NET Core 的这个异常只是在 XmlSerializer 内部抛出,会被 XML 框架接住,上层啥都不需要做
因此,只需要忽略就可以
本文会经常更新,请阅读原文: https://dotnet-campus.github.io//post/dotnet-core-%E8%BF%9B%E8%A1%8C-XML-%E5%BA%8F%E5%88%97%E5%8C%96%E6%8A%9B%E5%87%BA-XmlSerializers-dll-%E6%96%87%E4%BB%B6%E6%89%BE%E4%B8%8D%E5%88%B0.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。
本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名 lindexi (包含链接: https://dotnet-campus.github.io/ ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系 。