Asp.net core 将.NET核心应用升级到1.1时出错

Asp.net core 将.NET核心应用升级到1.1时出错,asp.net-core,.net-core,Asp.net Core,.net Core,因此,我有一个面向net461框架的ASP.NET Core 1.0应用程序,它工作得很愉快 今天我尝试将其升级到新的ASP.NET Core 1.1(根据说明,您只需升级Nuget软件包) 这导致了以下大量错误: error: Unable to resolve 'Microsoft.AspNetCore.Diagnostics.Abstractions (>= 1.1.0)' for '.NETFramework,Version=v4.6.1'. error: Unable to re

因此,我有一个面向net461框架的ASP.NET Core 1.0应用程序,它工作得很愉快

今天我尝试将其升级到新的ASP.NET Core 1.1(根据说明,您只需升级Nuget软件包)

这导致了以下大量错误:

error: Unable to resolve 'Microsoft.AspNetCore.Diagnostics.Abstractions (>= 1.1.0)' for '.NETFramework,Version=v4.6.1'.
error: Unable to resolve 'Microsoft.AspNetCore.Hosting.Abstractions (>= 1.1.0)' for '.NETFramework,Version=v4.6.1'.
error: Unable to resolve 'Microsoft.AspNetCore.Http.Extensions (>= 1.1.0)' for '.NETFramework,Version=v4.6.1'.
error: Unable to resolve 'Microsoft.AspNetCore.WebUtilities (>= 1.1.0)' for '.NETFramework,Version=v4.6.1'.
error: Unable to resolve 'Microsoft.Extensions.FileProviders.Physical (>= 1.1.0)' for '.NETFramework,Version=v4.6.1'.
error: Unable to resolve 'Microsoft.Extensions.Logging.Abstractions (>= 1.1.0)' for '.NETFramework,Version=v4.6.1'.
error: Unable to resolve 'Microsoft.Extensions.Options (>= 1.1.0)' for '.NETFramework,Version=v4.6.1'.
error: Unable to resolve 'System.Diagnostics.DiagnosticSource (>= 4.3.0)' for '.NETFramework,Version=v4.6.1'.
error: Unable to resolve 'System.Reflection.Metadata (>= 1.4.1)' for '.NETFramework,Version=v4.6.1'.
error: Unable to resolve 'Microsoft.AspNetCore.Mvc.ApiExplorer (>= 1.1.0)' for '.NETFramework,Version=v4.6.1'.
error: Unable to resolve 'Microsoft.AspNetCore.Mvc.Cors (>= 1.1.0)' for '.NETFramework,Version=v4.6.1'.
...
我错过了什么?这难道不管用吗

以下是project.json的相关部分(在运行Nuget升级之前)以供参考:

编辑:运行Nuget升级后,Visual Studio将依赖项部分更改为:

  "dependencies": {
    "Microsoft.AspNet.WebApi.Client": "5.2.3",
    "Microsoft.AspNetCore.Diagnostics": "1.1.0",
    "Microsoft.AspNetCore.Mvc": "1.1.0",
    "Microsoft.AspNetCore.Server.IISIntegration": "1.1.0",
    "Microsoft.AspNetCore.Server.Kestrel": "1.1.0",
    "Microsoft.AspNetCore.StaticFiles": "1.1.0",
    "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.1.0",
    "Microsoft.Extensions.Configuration.FileExtensions": "1.1.0",
    "Microsoft.Extensions.Configuration.Json": "1.1.0",
    "Microsoft.Extensions.Logging": "1.1.0",
    "Microsoft.Extensions.Logging.Console": "1.1.0",
    "Microsoft.Extensions.Logging.Debug": "1.1.0",
    "Microsoft.Extensions.Options.ConfigurationExtensions": "1.1.0"
  },

我终于找到了答案,以防其他人也有同样的问题

有三个步骤可以让它工作:

  • 出于某种原因,标准的“Microsoft和.NET”Nuget提要不包括这些包。。我必须打开Nuget设置并勾选“Nuget.org”提要。这样做之后,它就能够恢复v1.1软件包

  • 我引用的博客文章没有提到您需要打开
    global.json
    文件,并将SDK版本更改为
    “1.0.0-preview2-1-003177”
    (出于某种原因,v1.1仍然有一个名为v1.0.0的SDK——知道那里发生了什么吗?!)

  • 完成这两件事后,尝试运行应用程序产生了500个错误,但在web.config中启用
    stdoutLogEnabled
    后,您可以看到异常情况:

  • System.IO.FileLoadException:无法加载文件或程序集 'System.Collections.Immutable,版本=1.2.0.0,区域性=中性, PublicKeyToken=b03f5f7f11d50a3a'或其依赖项之一。这个 定位程序集的清单定义与程序集不匹配 参考资料


    要解决这个问题,您需要删除应用程序的
    bin
    文件夹,然后重新生成(由于某些原因,“重新生成解决方案”还不够)。当您部署到生产环境中时,可能还需要删除那里的bin文件夹,否则可能会遇到同样的问题。

    我怀疑与@gallivantor在其第1部分中提到的类似,但不知何故,用户界面后面的
    NuGet.config
    文件一直在重写,当我按照@jim-w的建议重新启动Visual Studio时,
    NuGet.org
    项将返回未选中状态

    因此,我决定查看
    NuGet.config
    文件,并注意到有两个部分:
    。而带有
    NuGet.org
    键的源代码同时位于这两个目录中。我试图将其从“禁用的软件包”部分删除,然后一切都开始工作

    之前:

    
    
    之后:

    
    

    警告:为了保持答案简单,我省略了一些细节(特别是关于环境的)。在将此解决方案应用于您的情况之前,请确保它适合您的情况。

    您是否下载了1.1 SDK/工具?更新nuget软件包后,是否可以发布project.json依赖项部分?是的,安装了1.1 SDK(在添加/删除程序中显示为“Microsoft.NET Core 1.1.0-SDK 1.0.0预览版2.1-03177(x64))另外,在post中添加了新的依赖项部分,命令提示符中的
    dotnet restore
    告诉了您什么?另外,将
    Microsoft.AspNetCore.Server.IISIntegration.Tools
    更新为
    1.1.0-preview4-final
    。#1本身就让它为我工作了——尽管出于某种原因我不得不重新启动VS。
      "dependencies": {
        "Microsoft.AspNet.WebApi.Client": "5.2.3",
        "Microsoft.AspNetCore.Diagnostics": "1.1.0",
        "Microsoft.AspNetCore.Mvc": "1.1.0",
        "Microsoft.AspNetCore.Server.IISIntegration": "1.1.0",
        "Microsoft.AspNetCore.Server.Kestrel": "1.1.0",
        "Microsoft.AspNetCore.StaticFiles": "1.1.0",
        "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.1.0",
        "Microsoft.Extensions.Configuration.FileExtensions": "1.1.0",
        "Microsoft.Extensions.Configuration.Json": "1.1.0",
        "Microsoft.Extensions.Logging": "1.1.0",
        "Microsoft.Extensions.Logging.Console": "1.1.0",
        "Microsoft.Extensions.Logging.Debug": "1.1.0",
        "Microsoft.Extensions.Options.ConfigurationExtensions": "1.1.0"
      },