【问题标题】:Unable to resolve 'System.IO.Pipelines (>= 0.1.0-e170328-3)' for '.NETCoreApp,Version=v1.1.1' at dotnet restore command无法在 dotnet restore 命令中解析 '.NETCoreApp,Version=v1.1.1' 的 'System.IO.Pipelines (>= 0.1.0-e170328-3)'
【发布时间】:2017-08-29 18:13:35
【问题描述】:

我们有一个基于 Azure 托管代理的 ASP.NET Core 项目。几天前,由于未知原因,托管代理上的构建开始在 dotnet restore 命令中失败并显示以下消息:

无法解析“.NETCoreApp,Version=v1.1.1”的“System.IO.Pipelines (>= 0.1.0-e170328-3)”。 无法为“.NETCoreApp,Version=v1.1.1”解析“System.Text.Encodings.Web.Utf8 (>= 0.1.0-e170328-3)”。

Visual Studio 中的构建工作正常。最初该解决方案是在 Visual Studio 2015 中创建的,然后在尝试解决该问题时,我将其转换为 Visual Studio 2017,但结果仍然相同。 有谁知道这可能发生的原因以及在哪里寻找解决方案?

【问题讨论】:

  • System.IO.PipelinesSystem.Text.Encodings.Web.Utf8 是 Corefx 实验室的一部分。这些是实验包,您不会在 nuget.org 中找到它们。也许您忘记在您的项目中添加the myget sourcehttps://dotnet.myget.org/F/dotnet-corefxlab/https://dotnet.myget.org/F/dotnet-corefxlab/api/v3/index.json
  • 是的,添加 dotnet.myget.org/F/dotnet-corefxlab 有帮助。非常感谢!请将其添加为答案,我会接受。

标签: c# asp.net visual-studio azure asp.net-core


【解决方案1】:

System.IO.PipelinesSystem.Text.Encodings.Web.Utf8 命名空间是在 CoreFX Lab repo 上托管的实验项目的一部分。在 nuget.org 上找不到这些包。

要使用和恢复这些包,您必须将 https://dotnet.myget.org/F/dotnet-corefxlab/ 添加到您的 nuget 源

【讨论】:

    【解决方案2】:

    并非所有 nuget 包都已完全迁移以支持 .NET Core。但是,您可以像这样针对多个版本的 .Net Core 应用程序:

    "frameworks": {
        "net452": {
          "frameworkAssemblies": {
            "System.Net.Http": "4.0.0.0",
            "System.Xml": "4.0.0.0",
            "System.Xml.Linq": "4.0.0.0"
          }
        }
      }
    

    您可以搜索不同版本的各种支持的包名称herehttps://packagesearch.azurewebsites.net/

    阅读更多: How to Manage Package Dependency Versions for .NET Core 1.0

    【讨论】:

    • 嗯,项目用的是json格式,现在不支持了。
    • 投诉是针对特定实验包的。与.NET Core版本或项目格式无关
    猜你喜欢
    • 2016-11-24
    • 2017-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多