【问题标题】:How do you troubleshoot AspNet Core missing dependencies?如何解决 AspNet Core 缺少依赖项的问题?
【发布时间】:2016-06-01 19:29:09
【问题描述】:

所以我对我的 project.json 进行了更改,这导致了重新恢复,这带来了一堆无法解决的依赖关系。你怎么知道这里发生了什么?这绝对有效,因为我针对这个 project.json 文件编写了很多代码。

"dependencies": {
    "EntityFramework.Commands": "7.0.0-*",
    "Microsoft.AspNet.Authentication.Cookies": "1.0.0-*",
    "Microsoft.AspNet.Diagnostics.Entity": "7.0.0-*",
    "Microsoft.AspNet.Identity.EntityFramework": "3.0.0-*",
    "Microsoft.AspNet.IISPlatformHandler": "1.0.0-*",
    "Microsoft.AspNet.Authentication.JwtBearer": "1.0.0-rc2-*",
    "Microsoft.AspNet.Mvc": "6.0.0-*",
    "Microsoft.AspNet.Hosting": "1.0.0-*",
    "Microsoft.AspNet.Server.Kestrel": "1.0.0-*",
    "Microsoft.AspNet.StaticFiles": "1.0.0-*",
    "Microsoft.Extensions.Configuration.Json": "1.0.0-*",
    "AspNet.Security.OAuth.Validation": "1.0.0-*",
    "OpenIddict": "1.0.0-*",
    "System.IdentityModel.Tokens.Jwt": "5.0.0-rc2-301150021",
    "Microsoft.Extensions.Logging.Console": "1.0.0-rc2-15958",
    "Microsoft.Extensions.Logging.Debug": "1.0.0-rc2-15958",
    "EntityFramework.Sqlite": "7.0.0-rc2-*",
    "EntityFramework.Sqlite.Design": "7.0.0-rc1-final",
    "Microsoft.Extensions.PlatformAbstractions": "1.0.0-*"
  }



 NotFound https://api.nuget.org/v3-flatcontainer/microsoft.aspnetcore.staticfiles/index.json 514ms
  NotFound https://api.nuget.org/v3-flatcontainer/microsoft.aspnetcore.identity.entityframeworkcore/index.json 498ms
  NotFound https://api.nuget.org/v3-flatcontainer/microsoft.aspnetcore.hosting.abstractions/index.json 1743ms
  NotFound https://api.nuget.org/v3-flatcontainer/microsoft.aspnetcore.authentication/index.json 1745ms
  NotFound https://api.nuget.org/v3-flatcontainer/microsoft.extensions.fileproviders.embedded/index.json 1791ms
  NotFound https://api.nuget.org/v3-flatcontainer/microsoft.extensions.fileproviders.composite/index.json 1859ms
  NotFound https://api.nuget.org/v3-flatcontainer/microsoft.aspnetcore.identity/index.json 1892ms
  NotFound https://api.nuget.org/v3-flatcontainer/microsoft.aspnetcore.cors/index.json 1901ms
  NotFound https://api.nuget.org/v3-flatcontainer/microsoft.aspnetcore.mvc/index.json 1875ms
  NotFound https://api.nuget.org/v3-flatcontainer/microsoft.aspnetcore.hosting/index.json 1887ms

NotFound https://api.nuget.org/v3-flatcontainer/openiddict/index.json 1720ms

【问题讨论】:

标签: asp.net-core aspnet-contrib openiddict


【解决方案1】:

OpenIddict 和所有 aspnet-contrib 项目 have been updated to use .NET CLI and the new ASP.NET Core 1.0 packages,因此如果您最近恢复了项目,您可能会使用最新的夜间构建,这需要新的 ASP.NET 和 aspnet-contrib 包。

要迁移,install the .NET Core tooling

您还需要更新您的引用以使用 ASP.NET Core RC2 包。以下是an updated project.json 的示例:

"dependencies": {
  "AspNet.Security.OAuth.GitHub": "1.0.0-alpha4-final",
  "AspNet.Security.OAuth.Introspection": "1.0.0-alpha1-final",
  "AspNet.Security.OAuth.Validation": "1.0.0-alpha1-final",
  "Microsoft.AspNetCore.Authentication.Google": "1.0.0-rc2-final",
  "Microsoft.AspNetCore.Authentication.Twitter": "1.0.0-rc2-final",
  "Microsoft.AspNetCore.Diagnostics": "1.0.0-rc2-final",
  "Microsoft.AspNetCore.Mvc": "1.0.0-rc2-final",
  "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0-rc2-final",
  "Microsoft.AspNetCore.Server.Kestrel": "1.0.0-rc2-final",
  "Microsoft.AspNetCore.StaticFiles": "1.0.0-rc2-final",
  "Microsoft.EntityFrameworkCore.SqlServer": "1.0.0-rc2-final",
  "Microsoft.Extensions.Configuration.CommandLine": "1.0.0-rc2-final",
  "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0-rc2-final",
  "Microsoft.Extensions.Configuration.Json": "1.0.0-rc2-final",
  "Microsoft.Extensions.Logging.Console": "1.0.0-rc2-final",
  "Microsoft.Extensions.Logging.Debug": "1.0.0-rc2-final",
  "OpenIddict": "1.0.0-*"
},

"frameworks": {
  "net451": {
    "dependencies": {
      "Microsoft.NETCore.Platforms": "1.0.1-rc2-24027"
    }
  },

  "netcoreapp1.0": {
    "dependencies": {
      "Microsoft.NETCore.App": { "type": "platform", "version": "1.0.0-rc2-3002702" }
    },

    "imports": [
      "dnxcore50",
      "portable-net451+win8"
    ]
  }
}

别忘了也替换 usings 和 to use the new WebHostBuilder:

public static class Program {
    public static void Main(string[] args) {
        var configuration = new ConfigurationBuilder()
            .AddEnvironmentVariables()
            .AddCommandLine(args)
            .Build();

        var host = new WebHostBuilder()
            .ConfigureLogging(options => options.AddConsole())
            .ConfigureLogging(options => options.AddDebug())
            .UseConfiguration(configuration)
            .UseIISIntegration()
            .UseKestrel()
            .UseStartup<Startup>()
            .Build();

        host.Run();
    }
}

祝你好运。

【讨论】:

  • 呵呵,这就是使用预发布软件的代价。如果您分享一两条消息会有所帮助;)
  • 您是否能够通过dotnet 命令(即不使用 dnx)运行一个 aspnet 核心应用程序 - 我已经尝试了一天:/
  • 更新为使用最终的 ASP.NET Core RC2 包。
【解决方案2】:

首先 - 不要混合软件包版本。使用所有 rc1 或所有 rc2 等。也不要将“旧”(.AspNet. - rc1 或更早版本)包与新(.AspNetCore. - rc2 - 尚未发布)包混合。如果您决定使用 rc2 从 dnx 切换到 dotnet。正如@Pinpoint 的回答所指出的那样,您现在需要使用 aspnetcidev 提要。您可以在this repo 中找到一些在 dotnet 上运行的 ASP.Net Core 应用程序示例

【讨论】:

  • 不确定谁对你的答案投了反对票,但 +1 是因为你给出了一个很好的建议:永远不要混合新旧包。
猜你喜欢
  • 2022-07-08
  • 2021-11-14
  • 2023-03-15
  • 2021-06-24
  • 2020-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多