zoukankan      html  css  js  c++  java
  • .net序列化与反序列化错误,可能是Local Settings\Temp不存在引起

    今天我在更改了WEBSERVICE接口之后,需要将调用者机器上的临时WS文件删除(否则调用者接口还是以前的),我为了省事就将

    C:\Documents and Settings\Administrator.ZJZX\Local Settings\Temp整个目录直接删掉了;

    结果发现很多软件无法使用,发现以下错误:

    XML反序列化为对象失败。 ---> System.IO.DirectoryNotFoundException: Could not find a part of the path 'C:\Documents and Settings\Administrator.ZJZX\Local Settings\Temp\_qhbt52c.tmp'.
       at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
       at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy)
       at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access)
       at System.CodeDom.Compiler.TempFileCollection.EnsureTempNameCreated()
       at System.CodeDom.Compiler.TempFileCollection.AddExtension(String fileExtension, Boolean keepFile)
       at System.CodeDom.Compiler.TempFileCollection.AddExtension(String fileExtension)
       at Microsoft.CSharp.CSharpCodeGenerator.FromSourceBatch(CompilerParameters options, String[] sources)
       at Microsoft.CSharp.CSharpCodeGenerator.System.CodeDom.Compiler.ICodeCompiler.CompileAssemblyFromSourceBatch(CompilerParameters options, String[] sources)
       at System.CodeDom.Compiler.CodeDomProvider.CompileAssemblyFromSource(CompilerParameters options, String[] sources)
       at System.Xml.Serialization.Compiler.Compile(Assembly parent, String ns, XmlSerializerCompilerParameters xmlParameters, Evidence evidence)
       at System.Xml.Serialization.TempAssembly.GenerateAssembly(XmlMapping[] xmlMappings, Type[] types, String defaultNamespace, Evidence evidence, XmlSerializerCompilerParameters parameters, Assembly assembly, Hashtable assemblies)
       at System.Xml.Serialization.TempAssembly..ctor(XmlMapping[] xmlMappings, Type[] types, String defaultNamespace, String location, Evidence evidence)
       at System.Xml.Serialization.XmlSerializer.GenerateTempAssembly(XmlMapping xmlMapping, Type type, String defaultNamespace)
       at System.Xml.Serialization.XmlSerializer..ctor(Type type, String defaultNamespace)
       at System.Xml.Serialization.XmlSerializer..ctor(Type type)
       at Sobey.MAM.XmlHelper.Xml2Object(String strXml, Type type)
       --- End of inner exception stack trace ---
       at Sobey.MAM.XmlHelper.Xml2Object(String strXml, Type type)
       at Sobey.MAM.AppServer.CommandTaskMonitor.CommandFlowHelper.GetAllCanSelectFlow()
       at Sobey.MAM.AppServer.CommandTaskMonitor.UCCommandTaskList.InitFlowList()
       at Sobey.MAM.AppServer.CommandTaskMonitor.UCCommandTaskList..ctor()
       at Sobey.MAM.AppServer.Console.ConsoleMainForm..ctor()
       --- End of inner exception stack trace ---
       at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandle& ctor, Boolean& bNeedSecurityCheck)
       at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean fillCache)
       at System.RuntimeType.CreateInstanceImpl(Boolean publicOnly, Boolean skipVisibilityChecks, Boolean fillCache)
       at System.Activator.CreateInstance(Type type, Boolean nonPublic)
       at System.Activator.CreateInstance(Type type)

    经分析,可能是我刚删除了Temp目录的原因,于是手动创建了一个,居然不报错了。

    总结:

    1.DOTNET反序列化和序列化临时目录在C:\Documents and Settings\账户\Local Settings\Temp下

    2.DOTNET不能自动创建该目录

    3.如果没有该目录,序列化和反序列化将失败

  • 相关阅读:
    4星|万维刚《你有你的计划,世界另有计划》:前物理学家的读书笔记,主要是社会科学领域的书
    3星|《耕作革命》:免耕、保留作物残茬、不同作物轮作的保护性农业,环保且高产
    2.5星|《逆商》:1997年出版的鸡汤,强调积极乐观面对逆境
    3星|《产品游戏化》:游戏类软件产品的宏观开发流程
    2星|曾仕强《人性管理》:故事会水平,像是没有学术背景的讲师
    3.5星|《是谁出的题这么难,到处都是正确答案》:​麦肯锡的经历,文艺妈妈的笔,温馨的父母与丈夫
    基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系。 根据验证过程,远程证书无效------解决方法
    XmlDocument.Load(url) 本地和http远程
    Windows服务启动进程----Cjwdev.WindowsApi.dll
    winform无需安装pdf阅读器打开pdf文件
  • 原文地址:https://www.cnblogs.com/zjoch/p/1677098.html
Copyright © 2011-2022 走看看