Ich habe ein wirklich nerviges Problem, bei dem jedes Mal, wenn ich versuche, eine Migration zu meinem Projekt hinzuzufügen, stürzt dotnet und die Migration wird nicht erstellt. Dies geschieht unabhängig davon, ob ich dotnet ef migrations add
oder Add-Migration
verwende. Der Befehl beginnt zu laufen und die Kompilierung erfolgt bei Bedarf, dann stürzt er mit einer StackOverflowException ab. Debugging liefert die folgenden Informationen:"dotnet funktioniert nicht mehr" StackOverflowException beim Hinzufügen von Datenbankmigration
Unhandled exception at 0x00007FFF798C97DE (coreclr.dll) in dotnet.exe: 0xC00000FD: Stack overflow (parameters: 0x0000000000000001, 0x000000AC03A75FF8).
Es spielt auch keine Rolle, ob mein Kontext ein Dbset hat, deren Objekte haben eine int Eigentum oder alle Objekte mit ihren komplexen Eigenschaften und Sammlungen, et cetera. Der einzige Fall, in dem ich eine Migration und einen Snapshot generieren kann, ist, wenn mein Kontext keine DbSets hat.
Ich habe versucht, sowohl die Vorabversion und Release-Versionen von .NET Core, sowie die vollständige Deinstallation des .NET Core SDK (da alte Versionen noch installiert waren) und Visual Studio und Neuinstallation von ihnen.
I von Visual Studio Enterprise 2.015,3 unter Windows 10 Pro und meine Modellklasse bin mit unter:
public class Player
{
[Key]
public int PlayerID { get; set; }
}
und mein Kontext ist wie folgt:
public class LeagueContext : DbContext
{
public LeagueContext(DbContextOptions<LeagueContext> context) : base(context)
{
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
}
public virtual DbSet<Player> Players { get; set; }
}
und meine Service-Konfiguration:
Mein project.json, wie gefordert:
{
"dependencies": {
"Microsoft.NETCore.App": {
"version": "1.0.0",
"type": "platform"
},
"Microsoft.AspNetCore.Diagnostics": "1.0.0",
"Microsoft.AspNetCore.Mvc": "1.0.0",
"Microsoft.AspNetCore.Razor.Tools": {
"version": "1.0.0-preview2-final",
"type": "build"
},
"Microsoft.AspNetCore.Server.IISIntegration": "1.0.0",
"Microsoft.AspNetCore.Server.Kestrel": "1.0.0",
"Microsoft.AspNetCore.StaticFiles": "1.0.0",
"Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0",
"Microsoft.Extensions.Configuration.Json": "1.0.0",
"Microsoft.Extensions.Logging": "1.0.0",
"Microsoft.Extensions.Logging.Console": "1.0.0",
"Microsoft.Extensions.Logging.Debug": "1.0.0",
"Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0",
"Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0",
"Microsoft.EntityFrameworkCore": "1.0.0",
"Microsoft.EntityFrameworkCore.SqlServer": "1.0.0",
"Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final",
"Microsoft.EntityFrameworkCore.Design": "1.0.0-preview2-final"
},
"tools": {
"BundlerMinifier.Core": "2.0.238",
"Microsoft.AspNetCore.Razor.Tools": "1.0.0-preview2-final",
"Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final",
"Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final"
},
"frameworks": {
"netcoreapp1.0": {
"imports": [
"dotnet5.6",
"portable-net45+win8"
]
}
},
"buildOptions": {
"emitEntryPoint": true,
"preserveCompilationContext": true
},
"runtimeOptions": {
"configProperties": {
"System.GC.Server": true
}
},
"publishOptions": {
"include": [
"wwwroot",
"Views",
"Areas/**/Views",
"appsettings.json",
"web.config"
]
},
"scripts": {
"prepublish": [ "bower install", "dotnet bundle" ],
"postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ]
}
}
Kann die project.json posten und hoffe, dass jede Referenz richtig ist. – Anuraj
@Anuraj Ich habe es zum Beitrag hinzugefügt. – Ceshion
Seltsam. Es funktioniert ohne Probleme in meinem System. Ich benutze die von Yoman generierte ASP.NET Web App. Nur ändern Ich verwende eine fest codierte Verbindungszeichenfolge als das Lesen von config. Ich hoffe, Sie verwenden Version 1.0.0-preview2-003121 von dotnet.exe. – Anuraj