当尝试使用 List<T>
将类型(泛型 XmlSerializer
,其中 T 是用 XmlRootAttribute 标记的类)序列化为 XML 时,一个FileNotFoundException
被抛出(有时)并且序列化失败。
看来XmlSerializer
尝试在运行应用程序的用户的 Temp 文件夹中创建一个具有随机文件名的临时文件,但该文件以某种方式被删除。
有人看过这个吗?有什么解决方法吗?
最佳答案
如果您使用 Visual Studio 进行构建,项目属性中有一个有趣的选项。 在“构建”选项卡上,您可以选择“生成序列化程序集”(是、否、自动)。 如果我没记错的话,我没有成功生成带有"is"的程序集来消除该异常。但一旦我有这样的印象,将选项设置为“否”会导致构建不尝试搜索这样的程序集,因此不再出现令人沮丧的 FileNotFound-Exception 。 不管怎样,正如你已经说过的,这个异常(exception)更多的是一个外观问题。您可以考虑抑制它(通过 Visual Studio 中的调试/异常...进行配置),至少对于它被处理的情况。
关于.net - 使用 XmlSerializer 时出现 FileNotFound 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/329030/