【发布时间】:2017-11-14 04:56:01
【问题描述】:
我在.NetStandard repository 上发布了一个问题,但他们暂时不关心 12 天。所以,我想试试 Stackoverflow。这里是the link of my issue。
我已经开始在 Visual Studio 2015 中使用 .NetCore version=1.0.0-preview2-003121。我的 project.json 文件如下:
{
"version": "1.0.0-*",
"frameworks": {
"netstandard2.0": {
"dependencies": {
"System.Runtime.Serialization.Xml": "4.3.0",
"System.Runtime.Serialization.Json": "4.3.0"
}
}
}
}
我的代码文件如下:
using System.Runtime.Serialization;
using System.Runtime.Serialization.Json;
namespace NetCoreTests
{
public class Class1
{
public Class1()
{
XmlObjectSerializer ser = new DataContractJsonSerializer(typeof(int));
}
}
}
这是我在尝试构建解决方案时遇到的错误:
CS0029 Cannot implicitly convert type 'System.Runtime.Serialization.Json.DataContractJsonSerializer'
to 'System.Runtime.Serialization.XmlObjectSerializer' NetCoreTests..NETStandard,Version=v2.0
看起来 System.Runtime.Serialization.Json nuget 包中的 DataContractJsonSerializer 类不继承 System.Runtime.Serialization.Xml nuget 包中的 XmlObjectSerializer 类。我可以看到,这两个 nuget 包之间通常没有依赖关系;但是,如果您检查 4 及更高版本的 .Net Framework DataContractJsonSerializer 始终继承自 XmlObjectSerializer,因为据我所知,每个 DataContractSerializer 都继承自 XmlObjectSerializer。即使在这个存储库中,这种继承也存在:
https://github.com/dotnet/standard/blob/master/netstandard/ref/System.Runtime.Serialization.cs#L332
您对这种情况有什么建议?我是不是做错了什么?
【问题讨论】:
标签: .net visual-studio-2015 nuget-package .net-standard