无法解析System.Runtime.Serialization

时间:2016-12-05 09:15:41

标签: c# asp.net asp.net-core

正如标题所说,试图创建ASP.NET Core应用程序,或更准确地说,从RC2迁移到Core 1.0。

在project.json中获得第二个构造:

"frameworks": {
    "netcoreapp1.0": {
      "imports": [
        "dotnet5.6",
        "portable-net45+win8"
      ],
      "frameworkAssemblies": {
        "System.Runtime.Serialization": "4.0.0.0",
        "System.ServiceModel": "4.0.0.0"
      }
    }
  },

如果删除导入并将netcoreapp1.0恢复为net451(就像迁移尝试之前一样),则没有问题,但在当前状态下,我收到两个问题:

NU1001  The dependency System.Runtime.Serialization >= 4.0.0 could not be resolved.
NU1001  The dependency System.ServiceModel >= 4.0.0 could not be resolved.

我也不能删除它们,并希望不会发生任何事情,因为删除后,我收到了一堆are you missing an assembly reference个问题。

我可能缺少什么来解决这个问题?

修改

试图添加到家属System.Runtime.Serialization.Primitives。好吧,它完全像我删除了System.Runtime.Serialization

在项目中,我遇到了以下问题:

The type or namespace name 'Mime' does not exist in the namespace 'System.Net' (are you missing an assembly reference?)
The type or namespace name 'ServiceModel' does not exist in the namespace 'System'

和其他人

1 个答案:

答案 0 :(得分:2)

快速谷歌搜索显示

this GitHub issue

  

根据微软博客文章,二进制序列化是   故意从.NET Core中删除,但它的命名空间仍然存在   记录。

从那里回答:

  

删除了二进制序列化,但列出的类型仍然是   包括在内。根据包搜索,很多类型都在   System.Runtime.Serialization.Primitives包。并在添加之后   "System.Runtime.Serialization.Primitives": "4.1.0-beta-23516"来   project.json中的依赖项,using System.Runtime.Serialization;   编译好我。

似乎System.ServiceModel hasn't made it to Core yet, quote below

  

System.ServiceModel还没有移植到ASP.NET 5,所以你不能这样做   将它用作核心库的一部分。

     

您应该能够包含标准aspnet50的参考   项目(非核心)。