title: EF Migrations: The parameter 'frameworkName' cannot be an empty string
body: <p>I'm following some tutorials on plural sight on how to setup my first web api using .netcore. I'm having an issue trying to run my first migration:  </p>
  
  <p><code>PM&gt; Add-Migration InitialMigration
  Exception calling ".ctor" with "1" argument(s): "The parameter 'frameworkName' cannot be an empty string.
  Parameter name: frameworkName"</code></p>
  
  <p>I understand it's saying there is a constructor somewhere with one argument that is empty; however, I have no idea where this "frameworkName" parameter is. I'm assuming it's some internal EF mechanism.   </p>
  
  <p><strong>What class is this error message referencing?</strong>    </p>
  
  <p>This is my simple entity setup</p>
  
  <pre><code>public class ShackupContext : DbContext
  {
      public DbSet&lt;Post&gt; Posts { get; set; }
      public ShackupContext(DbContextOptions&lt;ShackupContext&gt; options):base(options)
      {
  
      }
  }  
  
  
      public class Post
  {
      [Key]
      [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
      public int Id { get; set; }
      [Required]
      [MaxLength(200)]
      public string Name { get; set; }
  }  
  </code></pre>
  
  <p><strong>UPDATE 1</strong>
  I have updated my dbcontext to call the base class constructor as @ViktorsTelle suggested. </p>
  
  <p>My project is setup different than any tutorials I have followed. The main difference is my entities are contained in their own project as opposed to being in the api project itself.<br>
  <a href="https://i.stack.imgur.com/VNF6L.png" rel="noreferrer"><img src="https://i.stack.imgur.com/VNF6L.png" alt="enter image description here"></a><br>
  This led me to believe that running Add-Migration on the Shackup.Data project itself did not require me to register my dbcontext inside of my api project. I did it anyway to see what would happen:  </p>
  
  <pre><code> public void ConfigureServices(IServiceCollection services)
      {
          // Add framework services.
          services.AddMvc();
          services.AddDbContext&lt;ShackupContext&gt;(o =&gt; 
          o.UseNpgsql(Configuration["connectionStrings:postgres"],
          a =&gt; a.MigrationsAssembly("Shackup.Data")));
      }  
  </code></pre>
  
  <p>Once I did that I managed to get a little further in the migration process. I am now getting<br>
  <code>PM&gt; Add-Migration InitialMigration
  The specified deps.json [C:\Users\campo\Documents\Visual Studio 2015\Projects\Shackup\src\Shackup.Api\bin\Debug\netcoreapp1.1\Shackup.Api.deps.json] does not exist
  Process finished with non-zero exit code</code>  </p>
  
  <p>So I took a look at that directory and indeed it was missing the file; however, the file is being output to a child folder of that directory.  </p>
  
  <p><a href="https://i.stack.imgur.com/9wVZ7.png" rel="noreferrer"><img src="https://i.stack.imgur.com/9wVZ7.png" alt="enter image description here"></a>  </p>
  
  <p>The deps.json file is located inside the win10-x64 folder. I can simply copy and paste to the required folder but now I am faced with a new question:  </p>
  
  <p><strong>Why is Nuget package manager console looking in the wrong directory?</strong><br>
  Or possibly: How can I change this to look in the correct place?</p>
  
  <p><strong>Update 2</strong>  </p>
  
  <p>I have updated all my project dependencies in both projects. Here are the two files for the data and the api projects below  </p>
  
  <p><em>API</em>  </p>
  
  <pre><code>{
  "dependencies": {
  "Microsoft.AspNetCore.Mvc": "1.1.0",
  "Microsoft.AspNetCore.Server.IISIntegration": "1.1.0",
  "Microsoft.EntityFrameworkCore": "1.1.0",
  "Microsoft.AspNetCore.Server.Kestrel": "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.NETCore.App": "1.1.0",
  "Shackup.Data": "1.0.0-*",
  "Npgsql.EntityFrameworkCore.PostgreSQL": "1.1.0",
  "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.1.0-preview4-final"
  },
  
  "tools": {
  "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.1.0-preview4-final",
  "Microsoft.EntityFrameworkCore.Tools": "1.1.0-preview4-final"
  },
  
  "frameworks": {
  "netcoreapp1.1": {
    "imports": [
      "dotnet5.6",
      "portable-net45+win8"
    ]
  }
  },
  
  "buildOptions": {
  "emitEntryPoint": true,
  "preserveCompilationContext": true
  },
  
  "runtimeOptions": {
  "configProperties": {
    "System.GC.Server": true
  }
  },
  "runtimes": {
  "win10-x64": {},
  "win81-x64": {}
  },
  
  "publishOptions": {
  "include": [
    "wwwroot",
    "**/*.cshtml",
    "appsettings.json",
    "web.config"
  ]
  },
  
  "scripts": {
  "postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ]
  }
  }  
  </code></pre>
  
  <p><em>DATA</em>  </p>
  
  <pre><code>{
  "version": "1.0.0-*",
  
  "dependencies": {
  "Microsoft.EntityFrameworkCore": "1.1.0",
  "Microsoft.EntityFrameworkCore.Tools": "1.1.0-preview4-final",
  "NETStandard.Library": "1.6.1"
  },
  
   "frameworks": {
  "netstandard1.6": {
    "imports": "dnxcore50"
  }
  },
  "tools": {
  "Microsoft.EntityFrameworkCore.Tools": "1.1.0-preview4-final"
  }
  }
  </code></pre>