0

我在 asp.net 5 中将 EntityFramework 7 与 Microsoft SQL 服务器一起使用。我正在使用 EntityFramework.MicrosoftSqlServer: 7.0.0-rc1-final。当我在 Visual Studio 中运行我的 Web 应用程序时,一切都按预期工作。但是,我想在 Docker 中运行我的应用程序。我正在使用官方 Docker 映像来运行 asp.net 应用程序:microsoft/aspnet:1.0.0-rc1-update1-coreclr

这是我的码头文件:

FROM microsoft/aspnet:1.0.0-rc1-update1-coreclr

复制 project.json /app/

工作目录 /app

运行 [“dnu”,“恢复”]

复制 。/应用程序

ARG CONTAINER_PORT=5000

ARG SERVER_URLS=http://*:$CONTAINER_PORT

ENV SERVER.URLS $SERVER_URLS

暴露 $CONTAINER_PORT

入口点 ["dnx", "-p", "project.json", "web"]

在 docker 中构建成功,但是当我运行应用程序时,应用程序启动后出现以下错误:

应用程序启动异常:System.IO.FileLoadException:无法加载文件或程序集“app、Culture=neutral、PublicKeyToken=null”或其依赖项之一。一般异常(HRESULT 异常:0x80131500)[36mwebapi_1 | [0m文件名:'app,Culture=neutral,PublicKeyToken=null' ---> Microsoft.Dnx.Compilation.CSharp.RoslynCompilationException:/app/Startup.cs(33,18): DNXCore,Version=v5.0 错误 CS1061 :“EntityFrameworkServicesBuilder”不包含“AddSqlServer”的定义,并且找不到接受“EntityFrameworkServicesBuilder”类型的第一个参数的扩展方法“AddSqlServer”(您是否缺少 using 指令或程序集引用?)

问题似乎出在“AddSqlServer”命令中。奇怪的是,它在从 Visual Studio 构建和运行时工作。有人知道这个问题吗?

谢谢。

4

1 回答 1

0

尝试与 Docker 主机明确共享您的驱动器。如果您使用的是 docker-machine,这在 Virtual Box 中的默认设置下。如果您有 Docker for Windows 测试版,您可以在任务栏图标的设置中进行操作。可能不是缺少扩展方法,只是Docker无法访问。

于 2016-05-24T20:59:34.067 回答