Asp.net 无法在Linux上加载Mono的SQL依赖项
我试图说服Raspberry Pi a+(运行Raspbian Jessie 4.1)使用Mono运行一个小型ASP.NETV5程序。该程序在Windows机器上运行没有问题,我在同一个Raspberry Pi上运行过其他非数据库的v5程序 我已将解决方案文件夹复制到Pi,导航到[solutionname]/src/[projectname]/文件夹,然后运行Asp.net 无法在Linux上加载Mono的SQL依赖项,asp.net,sql-server,mono,raspberry-pi,Asp.net,Sql Server,Mono,Raspberry Pi,我试图说服Raspberry Pi a+(运行Raspbian Jessie 4.1)使用Mono运行一个小型ASP.NETV5程序。该程序在Windows机器上运行没有问题,我在同一个Raspberry Pi上运行过其他非数据库的v5程序 我已将解决方案文件夹复制到Pi,导航到[solutionname]/src/[projectname]/文件夹,然后运行dnu restore。所有软件包都已成功(显然)安装。据我所知,下一步是为SQL DB创建初始迁移。我正在尝试使用dnx ef migr
dnu restore
。所有软件包都已成功(显然)安装。据我所知,下一步是为SQL DB创建初始迁移。我正在尝试使用dnx ef migrations add Initial
执行此操作,但遇到错误消息:
System.TypeLoadException:无法加载类型
'Microsoft.Data.Entity.Scaffolding.SqlServerDesignTimeServices,
EntityFramework.MicrosoftSqlServer.Design“来自程序集”。位于Microsoft.Data.Entity.Design.Internal.DesignTimeServicesBuilder.ConfigureProviderServices (System.String提供程序,IServiceCollection服务,布尔值) throwOnError)位于:0处 Microsoft.Data.Entity.Design.Internal.DesignTimeServicesBuilder.Build (Microsoft.Data.Entity.DbContext上下文)在 :0 at Microsoft.Data.Entity.Design.MigrationOperations.AddMigration (System.String名称、System.String输出目录、System.String contextType)在:0处 Microsoft.Data.Entity.Commands.Program+Executor+c\u DisplayClass6\u 0.b\u 0 ()英寸:0英寸 Microsoft.Data.Entity.Commands.Program+Executor.Execute(System.Action 0中的操作)无法加载 键入“Microsoft.Data.Entity.Scaffolding.SqlServerDesignTimeServices, EntityFramework.MicrosoftSqlServer.Design“来自程序集“” 我不确定这个消息中的空程序集是怎么做的。有限的谷歌搜索表明Linux的区分大小写可能是一个绊脚石,但我已经梳理了我的依赖关系,没有发现任何问题:
"dependencies": {
"EntityFramework.Commands": "7.0.0-rc1-final",
"EntityFramework.MicrosoftSqlServer": "7.0.0-rc1-final",
"Microsoft.AspNet.Authentication.Cookies": "1.0.0-rc1-final",
"Microsoft.AspNet.Diagnostics.Entity": "7.0.0-rc1-final",
"Microsoft.AspNet.Identity.EntityFramework": "3.0.0-rc1-final",
"Microsoft.AspNet.IISPlatformHandler": "1.0.0-rc1-final",
"Microsoft.AspNet.Mvc": "6.0.0-rc1-final",
"Microsoft.AspNet.Mvc.TagHelpers": "6.0.0-rc1-final",
"Microsoft.AspNet.Server.Kestrel": "1.0.0-rc1-final",
"Microsoft.AspNet.StaticFiles": "1.0.0-rc1-final",
"Microsoft.AspNet.Tooling.Razor": "1.0.0-rc1-final",
"Microsoft.Extensions.CodeGenerators.Mvc": "1.0.0-rc1-final",
"Microsoft.Extensions.Configuration.FileProviderExtensions" : "1.0.0-rc1-final",
"Microsoft.Extensions.Configuration.Json": "1.0.0-rc1-final",
"Microsoft.Extensions.Configuration.UserSecrets": "1.0.0-rc1-final",
"Microsoft.Extensions.Logging": "1.0.0-rc1-final",
"Microsoft.Extensions.Logging.Console": "1.0.0-rc1-final",
"Microsoft.Extensions.Logging.Debug": "1.0.0-rc1-final",
"Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0-rc1-final"
},
有人能解释一下错误吗?请确保安装的dnx版本与Visual Studio使用的版本相匹配。如果安装了多个版本(键入
dnvm list
),则必须选择正确的dnx版本,然后才能执行命令行命令
查看一下您的project.json
文件,我可以看到您使用的是dnx版本1.0.0-rc1-final。请注意,这不是最新版本,Visual Studio 2015更新1带来了1.0.0-rc1-update1
在使用dnu/dnx命令之前,请尝试运行dnvm use 1.0.0-rc1-final
。这应该会有帮助