How do you troubleshoot AspNet Core missing dependencies?

jmorc picture jmorc · Feb 20, 2016 · Viewed 8.3k times · Source

So I made a change to my project.json which caused a re-restore which is coming up with a bunch of unresolvable dependencies. How do you figure out what is going on here? This was definitely working as I wrote quite a bit of code against this project.json file.

"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

Answer

Kévin Chalet picture Kévin Chalet · Feb 20, 2016

OpenIddict and all the aspnet-contrib projects have been updated to use .NET CLI and the new ASP.NET Core 1.0 packages, so if you restored your project recently, you're likely using the latest nightly builds, that require the new ASP.NET and aspnet-contrib packages.

To migrate, install the .NET Core tooling.

You'll also need to update your references to use the ASP.NET Core RC2 packages. Here's an example of 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"
    ]
  }
}

Don't forget to also replace the usings and 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();
    }
}

Good luck.