Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migrations CLI Fails if default ASP.NET Configuration is used #9371

Closed
SergeyBarskiy opened this issue Aug 9, 2017 · 3 comments
Closed

Migrations CLI Fails if default ASP.NET Configuration is used #9371

SergeyBarskiy opened this issue Aug 9, 2017 · 3 comments

Comments

@SergeyBarskiy
Copy link

SergeyBarskiy commented Aug 9, 2017

Try to add a migration when default configuraiton provider is used using CLI
dotnet ef migrations add Initial
Exception will be thrown: Value cannot be null.

Steps to reproduce

Create ASP.NET Core project that is using default configuration:

public class Startup
    {
        public Startup(IConfiguration configuration)
        {
            Configuration = configuration;

Try to run ef migrations add. This will throw the exception because it cannot find connection string.
Workaround:

public Startup(IConfiguration configuration)
        {
            Configuration = configuration;
            //support migrations with default configuration
            if (string.IsNullOrEmpty(Configuration["ConnectionStrings:DefaultConnection"]))
            {
                Configuration["ConnectionStrings:DefaultConnection"] = "Server=.;Database=ContactsDatabase;Trusted_Connection=True;MultipleActiveResultSets=true";
            }
        }

Another workaround - mark appsettings.json to copy to output folder always.

Further technical details

EF Core version: 2.0 preview 2
Database Provider: Microsoft.EntityFrameworkCore.SqlServer
Operating system: Windows 10
IDE: Visual Studio 2017

@bricelam
Copy link
Contributor

bricelam commented Aug 10, 2017

Another workaround - mark appsettings.json to copy to output folder always.

This shouldn't be necessary since the current directory was switched to the project directory in version 2.0.0-preview1-final. (See #7588)

Could you share your Program class code?

@SergeyBarskiy
Copy link
Author

Sure
public class Program
{
public static void Main(string[] args)
{
BuildWebHost(args).Run();
}

    public static IWebHost BuildWebHost(string[] args) =>
        WebHost.CreateDefaultBuilder(args)
            .UseStartup<Startup>()
            .Build();
}

@SergeyBarskiy
Copy link
Author

My bad. I was still using version 1.0.1 of tools. Did not realize it got renamed not to have .Net suffix.

@ajcvickers ajcvickers reopened this Oct 16, 2022
@ajcvickers ajcvickers closed this as not planned Won't fix, can't repro, duplicate, stale Oct 16, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants