xvo*_*rsx 75 c# visual-studio-2012
我正在尝试调查崩溃转储中的错误(因此我无法更改代码).我有一个非常复杂的对象(序列化表示中有数千行),并且它的状态不一致.要调查其状态,Visual Studio调试器视图是无用的.但该对象有一个数据契约.我想序列化它,然后使用我喜欢的文本编辑器浏览对象.是否可以从调试器中执行此操作?
mci*_*321 125
With any luck you have Json.Net in you appdomain already. In which case pop this into your Immediate window:
Newtonsoft.Json.JsonConvert.SerializeObject(someVariable)
小智 71
前段时间我写了一个单行程序,将一个对象序列化到磁盘上的文件中.将其复制/粘贴到Intermediate窗口,然后obj用您的对象替换(引用两次).它会将text.xml文件保存到c:\ temp,根据自己的喜好进行更改.
(new System.Xml.Serialization.XmlSerializer(obj.GetType())).Serialize(new System.IO.StreamWriter(@"c:\temp\text.xml"), obj)
Run Code Online (Sandbox Code Playgroud)
不要指望任何魔法,如果对象无法序列化,它将通过异常.
Oma*_*abd 32
这是一个Visual Studio扩展,它可以让你做到这一点:
https://visualstudiogallery.msdn.microsoft.com/c6a21c68-f815-4895-999f-cd0885d8774f
您可以输出到JSON,XML或C#
Chr*_*ock 17
在 Visual Studio 的“立即”窗口中使用此命令,替换c:\directory\file.json为要写入 JSON 的文件的完整路径以及myObject要序列化的变量:
System.IO.File.WriteAllText(@"c:\directory\file.json", Newtonsoft.Json.JsonConvert.SerializeObject(myObject))
Run Code Online (Sandbox Code Playgroud)
.Net Core 3及以上版本的更新版本:
System.IO.File.WriteAllText(@"c:\directory\file.json", System.Text.Json.JsonSerializer.Serialize(myObject))
Run Code Online (Sandbox Code Playgroud)
由于.NET Core 3.0 您可以使用System.Text.Json:
System.Text.Json.JsonSerializer.Serialize(obj)
Run Code Online (Sandbox Code Playgroud)
Object Dumper是Visual Studio和Visual Studio Code的免费开源扩展。
“转储为”命令可通过“代码”和“立即”窗口中的上下文菜单使用。
它将对象导出到:
我相信与Diff 工具结合使用会有所帮助。
我是这个工具的作者。
| 归档时间: |
|
| 查看次数: |
29662 次 |
| 最近记录: |