2016-11-19 68 views
2

運行以下命令後:實體框架的核心腳手架訪問要失敗的方法

dotnet ef dbcontext scaffold 
"Server=SERVERNAME;Database=MYDATABASE;Trusted_Connection=True;" 
Microsoft.EntityFrameworkCore.SqlServer -o Models -f 

我得到這個錯誤:

One or more errors occurred. (Attempt by method 'Microsoft.EntityFrameworkCore.Scaffolding.Configuration.Internal.ModelConfiguration.get_EntityConfigurations()' to access method 'Microsoft.EntityFra meworkCore.Metadata.Internal.EntityTypeNameComparer..ctor()' failed.)

project.json:

{ 
    "userSecretsId": "aspnet-APPLICATION-0799fe3e-6eaf-4c5f-b40e-7c6bfd5dfa9a", 
    "dependencies": { 
    "Microsoft.NETCore.App": { 
     "version": "1.1.0", 
     "type": "platform" 
    }, 
    "Microsoft.AspNetCore.Authentication.Cookies": "1.0.0", 
    "Microsoft.AspNetCore.Diagnostics": "1.0.0", 
    "Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore": "1.0.0", 
    "Microsoft.AspNetCore.Identity.EntityFrameworkCore": "1.0.0", 
    "Microsoft.AspNetCore.Mvc": "1.0.1", 
    "Microsoft.AspNetCore.Razor.Tools": { 
     "version": "1.0.0-preview2-final", 
     "type": "build" 
    }, 
    "Microsoft.AspNetCore.Routing": "1.0.1", 
    "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0", 
    "Microsoft.AspNetCore.Server.Kestrel": "1.0.1", 
    "Microsoft.AspNetCore.StaticFiles": "1.0.0", 
    "Microsoft.EntityFrameworkCore.Sqlite": "1.0.1", 
    "Microsoft.EntityFrameworkCore.Tools": { 
     "version": "1.0.0-preview2-final", 
     "type": "build" 
    }, 
    "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0", 
    "Microsoft.Extensions.Configuration.Json": "1.0.0", 
    "Microsoft.Extensions.Configuration.UserSecrets": "1.0.0", 
    "Microsoft.Extensions.Logging": "1.1.0", 
    "Microsoft.Extensions.Logging.Console": "1.0.0", 
    "Microsoft.Extensions.Logging.Debug": "1.0.0", 
    "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0", 
    "Microsoft.VisualStudio.Web.CodeGeneration.Tools": { 
     "version": "1.0.0-preview2-update1", 
     "type": "build" 
    }, 
    "Microsoft.VisualStudio.Web.CodeGenerators.Mvc": { 
     "version": "1.0.0-preview2-update1", 
     "type": "build" 
    }, 
    "Microsoft.EntityFrameworkCore.SqlServer": "1.1.0", 
    "Microsoft.EntityFrameworkCore.SqlServer.Design": "1.1.0", 
    "Microsoft.Extensions.Logging.Abstractions": "1.1.0", 
    "Newtonsoft.Json": "9.0.1", 
    "Microsoft.AspNetCore.Mvc.Versioning": "1.0.2" 
    }, 
    "tools": { 
    "Microsoft.AspNetCore.Razor.Tools": { 
     "version": "1.0.0-preview2-final", 
     "imports": "portable-net45+win8+dnxcore50" 
    }, 
    "Microsoft.AspNetCore.Server.IISIntegration.Tools": { 
     "version": "1.0.0-preview2-final", 
     "imports": "portable-net45+win8+dnxcore50" 
    }, 
    "Microsoft.EntityFrameworkCore.Tools": { 
     "version": "1.0.0-preview2-final", 
     "imports": [ 
     "portable-net45+win8+dnxcore50", 
     "portable-net45+win8" 
     ] 
    }, 
    "Microsoft.Extensions.SecretManager.Tools": { 
     "version": "1.0.0-preview2-final", 
     "imports": "portable-net45+win8+dnxcore50" 
    }, 
    "Microsoft.VisualStudio.Web.CodeGeneration.Tools": { 
     "version": "1.0.0-preview2-final", 
     "imports": [ 
     "portable-net45+win8+dnxcore50", 
     "portable-net45+win8" 
     ] 
    } 
    }, 
    "frameworks": { 
    "netcoreapp1.1": { 
     "imports": [ 
     "dotnet5.6", 
     "dnxcore50", 
     "portable-net45+win8" 
     ] 
    } 
    }, 
    "buildOptions": { 
    "debugType": "portable", 
    "emitEntryPoint": true, 
    "preserveCompilationContext": true 
    }, 
    "runtimeOptions": { 
    "configProperties": { 
     "System.GC.Server": true 
    } 
    }, 
    "publishOptions": { 
    "include": [ 
     "wwwroot", 
     "appsettings.json", 
     "web.config" 
    ] 
    }, 
    "scripts": { 
    "prepublish": [ 
     "npm install", 
     "bower install", 
     "gulp clean", 
     "gulp min" 
    ], 
    "postpublish": [ 
     "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" 
    ] 
    }, 
    "tooling": { 
    "defaultNamespace": "APPLICATION" 
    } 
} 

DOTNET版本: 1.0.0-preview2-1-003177

跟蹤所有版本並使它們一起工作正變得不可能。

+0

我知道我對此感到厭惡。我不*真的*錯過了我們不得不等待兩年的日子,但是在第一次回合 –

回答

8

因此,解決辦法是:

"dependancies":{ 
    "Microsoft.EntityFrameworkCore.Tools": "1.1.0-preview4-final", 
} 

"tools": { 
    "Microsoft.EntityFrameworkCore.Tools": "1.1.0-preview4-final", 
    "Microsoft.EntityFrameworkCore.Tools.DotNet": " 1.1.0-preview4-final" 
}, 
+0

時,所有事情都一起工作了。謝謝! – aherrick

+0

像魅力一樣工作 – user1019042

1

我得到了各種錯誤,直到我安裝了.NET 1.1核心SDK。

https://www.microsoft.com/net/download/core#/current

是的 - 對於1.1版本的文件名是dotnet-dev-win-x64.1.0.0-preview2-1-003177.exe

之前和之後我

C:\Users\SimonWeaver>dotnet --version 
1.0.0-preview2-003131 

C:\Users\SimonWeaver>dotnet --version 
1.0.0-preview2-1-003177 

現在工裝工作正常的腳手架。

回想起來,我看到你已經安裝了這個,但是我會在這裏留下這個以防別人不知道。

+0

這可能是真的,但我已經有最新版本的dotnet :) –