2016-04-07 2 views
0

Ich benutze EntityFramework 7 mit Microsoft SQL Server in asp.net 5. Ich benutze EntityFramework.MicrosoftSqlServer: 7.0.0-rc1-final. Wenn ich meine Webanwendung im Visual Studio starte, funktioniert alles wie erwartet. Aber ich möchte meine Anwendung in Docker ausführen. Ich bin mit offiziellen Docker für asp.net Anwendung ausgeführt wird: microsoft/aspnet: 1.0.0-rc1-update1-CoreCLREntity Framework 7 mit Microsoft SQL Server funktioniert nicht in Docker

Hier ist meine dockerfile:

von Microsoft/aspnet: 1.0.0-rc1 -update1-CoreCLR

COPY project.json/app/

WORKDIR/app

RUN [ "DNU", "Wiederherstellung"]

KOPIEREN./App

ARG CONTAINER_PORT = 5000

ARG SERVER_URLS = http: // *: $ CONTAINER_PORT

ENV SERVER.URLS $ SERVER_URLS

$ CONTAINER_PORT

ENTRYPOINT SETZEN [ "dnx "," -p "," project.json "," web "]

Build ist in Docker erfolgreich, aber wenn ich Anwendung ausführe, erhalte ich folgenden Fehler nach Anwendung Starts:

Anwendungsstartausnahme: System.IO.FileLoadException: Die Datei oder Assembly 'app, Culture = neutral, PublicKeyToken = null' oder eine ihrer Abhängigkeiten konnte nicht geladen werden. Allgemeine Ausnahme (Ausnahme von HRESULT: 0x80131500) [36mwebapi_1 | [0mDateiname: 'app, Culture = neutral, PublicKeyToken = null' ---> Microsoft.Dnx.Compilation.CSharp.RoslynCompilationException: /app/Startup.cs(33,18): DNXCore, Version = v5.0 Fehler CS1061 : 'EntityFrameworkServicesBuilder' enthält keine Definition für 'AddSqlServer' und es wurde keine Erweiterungsmethode 'AddSqlServer' gefunden, die ein erstes Argument vom Typ 'EntityFrameworkServicesBuilder' akzeptiert (fehlt eine using-Direktive oder eine Assemblyreferenz?)

Problem scheint in 'AddSqlServer' Befehl zu sein. Seltsam ist, dass es funktioniert, wenn es aus dem Studio gebaut wird. Weiß jemand etwas über dieses Problem?

Danke.

Antwort

0

Versuchen Sie explizit, Ihr Laufwerk mit dem Docker-Host zu teilen. Wenn Sie docker-machine verwenden, ist dies unter den Einstellungen für die Standardeinstellung in Virtual Box. Wenn Sie die Betaversion von Docker für Windows haben, können Sie dies in den Einstellungen über das Taskleistensymbol tun. Es ist nicht möglich, dass die Erweiterungsmethode fehlt, nur dass Docker nicht darauf zugreifen kann.

Verwandte Themen