我在 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 构建和运行时工作。有人知道这个问题吗?
谢谢。