我具有以下项目依赖结构:
Object.keys(up).forEach((k) => createtextarea.setAttribute(k, up[k])) // k would be the "class","name","type") in every iteration.
- .NET Core 2.2
_visualizerTests.dotnetcore
- .NET Framework 4.7.2 在.NET Framework项目中,我定义了以下类型:
Visualizer.2019
当我尝试在.NET Core项目中序列化此类型时:
[Serializable]
public struct EndNodeData {
public string Closure { get; set; }
public string Name { get; set; }
public string Type { get; set; }
public string Value { get; set; }
}
我收到以下异常:
System.TypeLoadException:'无法从程序集'mscorlib,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'中加载类型'System.Runtime.CompilerServices.IsReadOnlyAttribute'。 / p>
.NET Framework项目中定义的类类型可以毫无问题地进行序列化,.NET Core项目中定义的值类型也是如此。
我该如何解决?
(这是我的previous question的后续行动。)
删除var endnodeData = new EndNodeData {
Closure = null,
Name = null,
Type = "int",
Value = "5"
};
var stream = File.Create(Path.GetTempFileName());
var formatter = new BinaryFormatter();
formatter.Serialize(stream, endnodeData);
和bin
文件夹并删除解决方案的obj
文件夹无济于事。
我已经提交了issue on the .NET Core repo。
答案 0 :(得分:0)
这大概已在.NET Core 3中修复,但在此之前,可以使用以下变通办法:
[SuppressMessage("", "IDE0032", Justification = "https://github.com/dotnet/core/issues/2981")]
。System.Runtime.CompilerServices.IsReadOnlyAttribute
。