MemoryStream

时间:2018-05-28 03:26:32

标签: c# .net-core roslyn

在过去的几天里,我试图在几个月的忽视之后再次解决这个问题。

我拿出导致问题的部分将程序简化为序列化和反序列化。 在程序中第一次使用MemoryStream或CSharpSyntaxNode似乎不希望它是第一次反序列化操作。但这引出了一个问题:为什么这个对象中的一个对你先运行的操作很敏感?

重新创建的步骤:

1.打开程序,播种,这样你就有了一个值然后得到节点并设置字节数组你想要的次数。 Init

2a上。重新启动程序并将字节数组设置为重新启动之前的值,然后获取节点。它会崩溃Restart-A

2B。重启程序,运行测试,将字节数组设置为重启前的值,然后获取节点。它会工作。 Restart-B

以下是project的链接。它使用net core 2.1。

1 个答案:

答案 0 :(得分:0)

这似乎是基于Roslyn编译器的更深层次的问题。目前的版本似乎无法做到这一点。在写作的那一刻,它不知道它是否被设计为像这样工作或它是一个错误。您可以在此处查看已打开的故障单的详细信息:Roslyn Github