【问题标题】:VS Code and macOS error: "LocalDB is not supported on this platform"VS Code 和 macOS 错误:“此平台不支持 LocalDB”
【发布时间】:2018-06-08 14:43:39
【问题描述】:
我一直在 Mac 操作系统上通过 Visual Studio 代码修改 .NET Core,但是,Entity Framework 给我带来了一些麻烦。我完全能够迁移,但无法运行 > dotnet ef database update 命令而不会出现以下错误:LocalDB is not supported on this platform. 我一直在研究,看来问题可能与操作系统,我该如何解决这个问题并最终拥有一个可以迁移到的工作数据库。
【问题讨论】:
标签:
sql-server
entity-framework
asp.net-core
【解决方案1】:
消息:“此平台不支持 LocalDB。”是正确的。
使用 .mdf 文件的 LocalDB 在 MacOSX 下不起作用,因为该文件需要隐藏的“SQLExpress”服务器层。这还没有在 MacOS 上实现。
所以 VS Code 和 VS Studio 都不会在 Mac 上开箱即用地完成这项工作。
您可以使用 docker 解决这个问题,它可以运行用于 Linux 的容器化版本的 SQLServer。
您将需要学习一点 docker,将文件复制到容器中并将其作为数据库挂载到 SQLServer,但如果您熟悉 unix 命令行世界,那就没什么难的了。
还需要为 mac 安装 docker,并且由于 linux 版本与 windows 版本没有 100% 相同,因此 SQLServer 本身内部会有一些(小)限制。
玩得开心!
【解决方案2】:
我在 MAC 上使用 VS Code。按照 Github 中的说明 ..\eShopOnWeb:
我试过了..
docker-compose 构建
码头工人组成
在最后一个 cmd-line 上,显示错误:
“网络 nat 声明为外部,但找不到。请使用 docker network create nat 手动创建网络,然后重试。”
我参考。
Create networks automatically in Docker Compose
并发现解决方案为:
将网络的 docker-compose.yml 文件编辑为
网络:
默认:
而已。我可以在浏览器中打开网站。