asp.net-core – 使用Scaffold-DBContext设置数据库优先EF项目
发布时间:2020-12-16 03:24:44 所属栏目:asp.Net 来源:网络整理
导读:我有一个数据库,我正在尝试建立一个数据库第一个EF项目.我的项目是一个使用.Net Core的Web API项目.像我发出的命令是这样的: Scaffold-DbContext "Server=ServerInstance;Database=MyDatabase;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.Sq
我有一个数据库,我正在尝试建立一个数据库第一个EF项目.我的项目是一个使用.Net Core的Web API项目.像我发出的命令是这样的:
Scaffold-DbContext "Server=ServerInstance;Database=MyDatabase;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models 但是,我收到以下错误: Could not load file or assembly 'Microsoft.EntityFrameworkCore.Design' or one of its dependencies. The system cannot find the file specified. System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.EntityFrameworkCore.Design' or one of its dependencies. The system cannot find the file specified. File name: 'Microsoft.EntityFrameworkCore.Design' at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName,String codeBase,Evidence assemblySecurity,RuntimeAssembly locationHint,StackCrawlMark& stackMark,IntPtr pPrivHostBinder,Boolean throwOnFileNotFound,Boolean forIntrospection,Boolean suppressSecurityChecks) at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef,RuntimeAssembly reqAssembly,Boolean suppressSecurityChecks) at System.Activator.CreateInstance(String assemblyString,String typeName,Boolean ignoreCase,BindingFlags bindingAttr,Binder binder,Object[] args,CultureInfo culture,Object[] activationAttributes,Evidence securityInfo,StackCrawlMark& stackMark) at System.Activator.CreateInstance(String assemblyName,Object[] activationAttributes) at System.AppDomain.CreateInstance(String assemblyName,Object[] activationAttributes) at System.AppDomain.CreateInstanceAndUnwrap(String assemblyName,Object[] activationAttributes) at Microsoft.EntityFrameworkCore.Tools.AppDomainOperationExecutor..ctor(String assembly,String startupAssembly,String projectDir,String contentRootPath,String dataDirectory,String rootNamespace,String environment) at Microsoft.EntityFrameworkCore.Tools.Commands.ProjectCommandBase.CreateExecutor() at Microsoft.EntityFrameworkCore.Tools.Commands.DbContextScaffoldCommand.Execute() at Microsoft.DotNet.Cli.CommandLine.CommandLineApplication.Execute(String[] args) at Microsoft.EntityFrameworkCore.Tools.Program.Main(String[] args) 此项目的依赖项如下: "dependencies": { "Microsoft.Extensions.Options.ConfigurationExtensions": "1.1.0","Microsoft.NETCore.App": "1.1.0","NETStandard.Library": "1.6.1","Microsoft.ApplicationInsights.AspNetCore": "2.0.0","Microsoft.AspNetCore.Mvc": "1.1.1","Microsoft.AspNetCore.Routing": "1.1.0","Microsoft.AspNetCore.Server.IISIntegration": "1.1.0","Microsoft.AspNetCore.Server.Kestrel": "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.EntityFrameworkCore": "1.1.0","Microsoft.EntityFrameworkCore.SqlServer": "1.1.0","Microsoft.EntityFrameworkCore.Tools": "1.1.0-msbuild3-final","Microsoft.EntityFrameworkCore.SqlServer.Design": "1.1.0","Microsoft.EntityFrameworkCore.Relational.Design": "1.1.0","Microsoft.EntityFrameworkCore.Design": "1.1.0","System.Collections.NonGeneric": "4.3.0","Microsoft.AspNetCore.Hosting.Abstractions": "1.1.0" }, 如您所见,它被引用. 有人能指出我在这个方向上正确的方向吗? 编辑: 在它之前的当前(完整)project.json: { "dependencies": { "Microsoft.ApplicationInsights.AspNetCore": "2.0.0","Microsoft.AspNetCore.Hosting.Abstractions": "1.1.0","Microsoft.EntityFrameworkCore.Tools.DotNet": "1.1.0-preview4-final","Microsoft.Extensions.Options.ConfigurationExtensions": "1.1.0","System.Collections.NonGeneric": "4.3.0" },"tools": { "Microsoft.AspNetCore.Server.IISIntegration.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 } },"runtimes": { "win10-x64": {} },"publishOptions": { "include": [ "wwwroot","**/*.cshtml","appsettings.json","web.config" ] },"scripts": { "postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ] } } 使用此配置,我收到编译错误: Can not find runtime target for framework '.NETCoreApp,Version=v1.0' compatible with one of the target runtimes: 'win10-x86,win81-x86,win8-x86,win7-x86'. Possible causes: JourneyService C:Program Files (x86)MSBuildMicrosoftVisualStudiov14.0DotNetMicrosoft.DotNet.Common.Targets 262 Build 解决方法
请执行以下步骤.
>将.Net Core SDK更新为最新的最新版本. (对于新的1.0.0-preview2-1-003177). download link >在gobal.json文件中更新.Net Core SDK版本 "frameworks": { "netcoreapp1.1": { "imports": [ "dotnet5.6","portable-net45+win8" ] } }, >将这些包添加到`project.json "Microsoft.EntityFrameworkCore.SqlServer.Design": { "version": "1.1.0","type": "build" },"Microsoft.EntityFrameworkCore.Tools": { "version": "1.1.0-preview4-final","type": "build" } >更新project.json中的工具部分,并添加Microsoft.EntityFrameworkCore.Tools最新版本 "tools": { "Microsoft.EntityFrameworkCore.Tools": "1.1.0-preview4-final" }, 命令: `Scaffold-DbContext "Server=ServerInstance;Database=MyDatabase;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models` 完成project.json文件. { "dependencies": { "Microsoft.ApplicationInsights.AspNetCore": "2.0.0","Microsoft.NETCore.App": { "version": "1.1.0","type": "platform" },"Microsoft.EntityFrameworkCore.SqlServer.Design": { "version": "1.1.0","type": "build" },"Microsoft.EntityFrameworkCore.Tools": { "version": "1.1.0-preview4-final","type": "build" } },"tools": { "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final","Microsoft.EntityFrameworkCore.Tools": "1.1.0-preview4-final" },"frameworks": { "netcoreapp1.1": { "imports": [ "dotnet5.6","scripts": { "postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ] } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – System.Net.Mail.SmtpFailedRecipientException
- asp.net-mvc – 找不到Nancy Razor Viewengine
- asp.net – 在线.Net编码
- asp.net – 在集成模式下替换HttpContext.Current.Request.
- asp.net – 如何使RequiredFieldValidator更改父div的css类
- asp.net-mvc – 将复选框的值从View传递给Controller
- asp.net-mvc-3 – MVC动作被调用两次?
- asp.net-mvc – ASP.NET MVC 3发布日期?
- asp.net – 在谷歌地图和谷歌地球之间切换
- asp.net-mvc – Jquery AJAX成功没有被Coded UI测试项目触发