根据List of .NET CoreFx APIs and their associated .NET Platform Standard version,System.Runtime.Serialization.Formatters从1.3开始被添加到.NET平台标准中,这很酷,但是当我尝试创建一个面向netstandard1的.Net Core类库时。 5 under.Net Core RC2,我不能用它。
代码很简单,只是想要声明一个BinaryFormatter:
public class Problems {
private System.Runtime.Serialization.Formatters.Binary.BinaryFormatter _formatter;
}
错误是:
错误CS0234类型或命名空间名称“序列化”不存在 在命名空间'System.Runtime'中(你错过了一个程序集 引用?)
这是project.json,我没有做任何修改:
{
"version": "1.0.0-*",
"dependencies": {
"NETStandard.Library": "1.5.0-rc2-24027",
},
"frameworks": {
"netstandard1.5": {
"imports": "dnxcore50"
}
}
}
那么,我需要依赖的另一个包吗?为什么?对于列表中的所有API,netstandard名字不一定足够吗?
答案 0 :(得分:5)
System.Runtime.Serialization.Formatters
包,它应该包含在明天的1.0版本中。在此期间,您可以使用MyGet。System.Runtime.Serialization.Formatters
的1.0版本不会包含BinaryFormatter
。它主要包含序列化属性和接口,以及它们使用的类型。 The full API of that package is here. System.Runtime.Serialization.Formatters
也未引用NETStandard.Library
。如果要使用它,则需要将其显式添加到project.json。BinaryFormatter
will be available in a future version of .Net Core. 答案 1 :(得分:2)
你在RC2中找不到BinaryFormatter
,
http://packagesearch.azurewebsites.net/
关于它是否是.NET Core的一部分,您可以参考此拉取请求,
https://github.com/dotnet/corefx/pull/8302/files
我想这将是.NET Core 1.0 RTM或1.1版本的一部分。