.net - 使用 XmlSerializer 时出现 FileNotFound 异常

标签 .net xml-serialization

当尝试使用 List<T> 将类型(泛型 XmlSerializer,其中 T 是用 XmlRootAttribute 标记的类)序列化为 XML 时,一个FileNotFoundException被抛出(有时)并且序列化失败。

看来XmlSerializer尝试在运行应用程序的用户的 Temp 文件夹中创建一个具有随机文件名的临时文件,但该文件以某种方式被删除。

有人看过这个吗?有什么解决方法吗?

最佳答案

如果您使用 Visual Studio 进行构建,项目属性中有一个有趣的选项。 在“构建”选项卡上,您可以选择“生成序列化程序集”(是、否、自动)。 如果我没记错的话,我没有成功生成带有"is"的程序集来消除该异常。但一旦我有这样的印象,将选项设置为“否”会导致构建不尝试搜索这样的程序集,因此不再出现令人沮丧的 FileNotFound-Exception 。 不管怎样,正如你已经说过的,这个异常(exception)更多的是一个外观问题。您可以考虑抑制它(通过 Visual Studio 中的调试/异常...进行配置),至少对于它被处理的情况。

编辑:The option is only evaluated under certain circumstances, for a final solution see this question (and its answers)

关于.net - 使用 XmlSerializer 时出现 FileNotFound 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/329030/

相关文章:

.net - 什么决定了 WCF 测试客户端中方法的顺序?

c# - XBAP 应用程序,这些可以在 Google Chrome 中运行吗?

c# - 为 String.GetHashCode() 创建重载以在 x86 和 x64 环境中返回相同的值

xml - XSD 中的 Ref 属性或 Type 属性

java - 对象到 xml 映射,格式为 spring bean 定义

c# - 是否可以将可信连接 (SSPI) 与 SQLDMO API 一起使用?

C# 代表真实世界的使用

.net - XmlSerializer 添加空 "&lt;script/>"标签到输出

c# - 为什么这个反序列化会抛出 StackOverflow 异常?

java - 序列化方法