无法在Linux上为Mono加载SQL依赖项

时间:2015-12-10 14:19:15

标签: asp.net sql-server mono raspberry-pi

我试图说服Raspberry Pi A +(运行Raspbian Jessie 4.1)使用Mono运行一个小的ASP.Net v5程序。该程序在Windows机器上运行没有问题,我在同一个Raspberry Pi上运行其他非数据库v5程序。

我已将解决方案文件夹复制到Pi,导航到[solutionname] / src / [projectname] /文件夹,然后运行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)< 0xb1a55f00 + 0x0002f> in:0 at   Microsoft.Data.Entity.Design.Internal.DesignTimeServicesBuilder.Build   (Microsoft.Data.Entity.DbContext context)< 0xb1a53758 + 0x00177>在   :0点   Microsoft.Data.Entity.Design.MigrationsOperations.AddMigration   (System.String name,System.String outputDir,System.String   contextType)< 0xb1c71000 + 0x000ef> in:0 at   Microsoft.Data.Entity.Commands.Program +执行人+ LT;> c__DisplayClass6_0.b__0   ()< 0xb4432578 + 0x0003f> in:0 at   Microsoft.Data.Entity.Commands.Program + Executor.Execute(System.Action   动作)< 0xb44324b8 + 0x0002f> in:0无法加载   输入'Microsoft.Data.Entity.Scaffolding.SqlServerDesignTimeServices,   EntityFramework.MicrosoftSqlServer.Design'from assembly''。

我不确定在此消息中如何制作空白程序集。有限的谷歌搜索表明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"
  },

任何人都可以对错误有所了解吗?

1 个答案:

答案 0 :(得分:0)

确保已安装的dnx版本与Visual Studio使用的版本匹配。如果安装了多个版本(类型dnvm list),则必须先选择正确版本的dnx才能执行命令行命令。

看一下你project.json文件,我可以看到你正在使用dnx版本1.0.0-rc1-final。请注意,这不是最新版本,Visual Studio 2015 Update 1带来了1.0.0-rc1-update1。

在使用dnu / dnx命令之前尝试运行dnvm use 1.0.0-rc1-final。这应该会有所帮助。