根据.NET CoreFx API 及其关联的 .NET 平台标准版本列表 https://github.com/dotnet/corefx/blob/master/Documentation/architecture/net-platform-standard.md,System.Runtime.Serialization.Formatters从1.3开始被添加到.NET Platform Standard中,这很酷,但是当我尝试在.Net Core RC2下创建一个针对netstandard1.5的.Net Core类库时,我不能用它。
代码很简单,只是声明一个 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 名称难道还不够吗?
- The
System.Runtime.Serialization.Formatters
软件包是在 RC2 之后添加的,应该会包含在明天的 1.0 版本中。同时,您可以使用以下版本:MyGet https://dotnet.myget.org/gallery/dotnet-core.
- 1.0版本
System.Runtime.Serialization.Formatters
不会包含BinaryFormatter
。它主要包含序列化属性和接口以及它们使用的类型。该包的完整 API 位于此处。 https://github.com/dotnet/corefx/blob/release/1.0.0/src/System.Runtime.Serialization.Formatters/ref/System.Runtime.Serialization.Formatters.cs
- 即使这样,
System.Runtime.Serialization.Formatters
没有被引用NETStandard.Library
。如果您想使用它,您需要将其显式添加到您的project.json中。
- BinaryFormatter将在 .Net Core 的未来版本中提供。 https://blogs.msdn.microsoft.com/dotnet/2016/05/27/making-it-easier-to-port-to-net-core/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)