StringBuilder sb = new StringBuilder();
为什么Mono在使用时会产生警告?
单声道限制:序列化格式与.NET不兼容
Unity 5.5.2和Mac中的Visual Studio。
我的英语很差,请理解,谢谢。
答案 0 :(得分:0)
简短回答:您可以在自己的Unity3D代码中安全地忽略此警告。
更长的回答:在https://www.mono-project.com/docs/faq/technical/的单声道技术常见问题解答中有对此警告的解释。具体来说,这意味着Mono和官方MS.NET实现之间某些类的内部实现是不同的。如果您尝试在Mono应用程序中序列化对象(例如,在文件中保存对象),然后尝试在.NET应用程序中读取该对象,则可能会出现问题。
来自常见问题:
如果要序列化自己的类,则没有问题,因为您可以控制用于序列化的程序集和类。
但是,如果要从框架序列化对象,则无法保证序列化兼容性,因为这些对象的内部结构可能不同。在不同的MS.NET版本或Mono版本之间甚至不保证这种兼容性。
...
总之,如果您设计的应用程序将在不受您控制的不同环境和平台中运行,并且需要共享序列化对象(使用远程处理,普通文件或其他),您必须小心使用您共享的对象,并在可能的情况下避免使用框架中的对象。
因此,如果您只是在Mono应用程序或Unity3D应用程序中保存和加载自己代码中的对象,那么您可以放心地忽略此警告。