我正在實例化一個對象,並使用SOAP數據填充它。已簽名的程序集在SOAP反序列化中生成「應用程序已停止工作」
這用於運作良好。
然而,給裝配強大的名字後,我發現了以下錯誤:
重要的位是:
Application has stopped working
Problem Signature: System.Runtime.Serialization.Formatters.Soap
調試器顯示我System.Runtime.Serialization.SerializationException
,具有以下細節。注意序列分析器
完整的錯誤描述爲 '與XML密鑰關聯的程序集' 如何抱怨:
Parse Error, no assembly associated with Xml key a1: http://schemas.microsoft.com/clr/nsassem/MyProject/MyProject%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3Dnull MainForm
這裏的堆棧跟蹤
at System.Runtime.Serialization.Formatters.Soap.SoapHandler.ProcessGetType(String value, String xmlKey, String& assemblyString)
at System.Runtime.Serialization.Formatters.Soap.SoapHandler.ProcessType(ParseRecord pr, ParseRecord objectPr)
at System.Runtime.Serialization.Formatters.Soap.SoapHandler.ProcessAttributes(ParseRecord pr, ParseRecord objectPr)
at System.Runtime.Serialization.Formatters.Soap.SoapHandler.StartChildren()
at System.Runtime.Serialization.Formatters.Soap.SoapParser.ParseXml()
at System.Runtime.Serialization.Formatters.Soap.SoapParser.Run()
at System.Runtime.Serialization.Formatters.Soap.ObjectReader.Deserialize(HeaderHandler handler, ISerParser serParser)
at System.Runtime.Serialization.Formatters.Soap.SoapFormatter.Deserialize(Stream serializationStream, HeaderHandler handler)
at System.Runtime.Serialization.Formatters.Soap.SoapFormatter.Deserialize(Stream serializationStream)
at MyProject.Program.Main() in C:\MyProject\Program.cs:line 35
at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
我選中「簽署大會「,重建解決方案,並像魔術一樣,一切都恢復正常 - 所以,我知道一個糟糕的SOAP文件不是根本原因。事實上,如果我不得不冒險猜測,我會說強大的彙編名稱會使SOAP解串器「混淆」。
如何解決此問題?
屏幕截圖發生什麼錯誤?從「解析錯誤...」開始 – sll
@sll提供調用反序列化方法的入口點的完整路徑。我已編輯帖子以包含此信息。 –