entity framework7在Linux Dot Net Core CLR上工作吗?

试图让一个简单的项目在Linux上运行,我遇到了很大的麻烦。 我在Windows上创build了一个简单的MVC应用程序,但是我无法将其迁移到Linux。 起初我以为是基于平台,但现在我不这么认为。

我从CentOS开始,按照https://docs.asp.net/en/latest/getting-started/installing-on-linux.html#installing-on-centos-7

我可以让dnvm运行和dnx,但是dotnet会运行并退出。 DNXsorting的工作,但是当试图访问Web应用程序它会失速,不logging任何东西,而不是退出,直到强制与杀死-9

接下来,我安装了Ubuntu 14.04并运行了这些命令

sudo sh -c 'echo "deb [arch=amd64] http://apt-mo.trafficmanager.net/repos/dotnet/ trusty main" > /etc/apt/sources.list.d/dotnetdev.list' sudo apt-key adv --keyserver apt-mo.trafficmanager.net --recv-keys 417A0893 sudo apt-get update sudo apt-get install dotnet 

然后我尝试了dotnet恢复,并得到这个

 Errors in /home/joel/Projects/MVCPrototype/project.json Package Ix-Async 1.2.5 is not compatible with dnxcore50 (DNXCore,Version=v5.0). Package Ix-Async 1.2.5 supports: - net40 (.NETFramework,Version=v4.0) - net45 (.NETFramework,Version=v4.5) - portable-net45+win8+wp8 (.NETPortable,Version=v0.0,Profile=Profile78) Package Remotion.Linq 2.0.2 is not compatible with dnxcore50 (DNXCore,Version=v5.0). Package Remotion.Linq 2.0.2 supports: - net35 (.NETFramework,Version=v3.5) - net40 (.NETFramework,Version=v4.0) - net45 (.NETFramework,Version=v4.5) - portable-net45+win8+wp8+wpa81 (.NETPortable,Version=v0.0,Profile=Profile259) Package Microsoft.CodeAnalysis.CSharp 1.1.0-rc1-20151109-01 is not compatible with dnxcore50 (DNXCore,Version=v5.0). Package Microsoft.CodeAnalysis.CSharp 1.1.0-rc1-20151109-01 supports: - net45 (.NETFramework,Version=v4.5) - portable-net45+win8 (.NETPortable,Version=v0.0,Profile=Profile7) Package Microsoft.CodeAnalysis.Common 1.1.0-rc1-20151109-01 is not compatible with dnxcore50 (DNXCore,Version=v5.0). Package Microsoft.CodeAnalysis.Common 1.1.0-rc1-20151109-01 supports: - net45 (.NETFramework,Version=v4.5) - portable-net45+win8 (.NETPortable,Version=v0.0,Profile=Profile7) One or more packages are incompatible with DNXCore,Version=v5.0. NuGet Config files used: /home/joel/Projects/MVCPrototype/nuget.config /home/joel/.nuget/NuGet/NuGet.Config Feeds used: https://dotnet.myget.org/F/dotnet-core/api/v3/index.json https://www.myget.org/F/aspnetcirelease/api/v3/index.json https://api.nuget.org/v3/index.json 

所以我运行这些命令来卸载APT版本并获得最新的SDK

 sudo apt-get remove dotnet wget https://dotnetcli.blob.core.windows.net/dotnet/beta/Installers/Latest/dotnet-host-ubuntu-x64.latest.deb wget https://dotnetcli.blob.core.windows.net/dotnet/beta/Installers/Latest/dotnet-sharedframework-ubuntu-x64.latest.deb wget https://dotnetcli.blob.core.windows.net/dotnet/beta/Installers/Latest/dotnet-sdk-ubuntu-x64.latest.deb sudo dpkg -i dotnet-host-ubuntu-x64.latest.deb sudo dpkg -i dotnet-sharedframework-ubuntu-x64.latest.deb sudo dpkg -i dotnet-sdk-ubuntu-x64.latest.deb 

然后运行相同的命令,同样的错误。

那么我按照http://ef.readthedocs.io/en/latest/platforms/coreclr/getting-started-linux.html#create-a-new-project

project.json:

 { "dependencies": { "EntityFramework.Sqlite": "7.0.0-rc1-final", "EntityFramework.Commands": "7.0.0-rc1-final", "Microsoft.Extensions.PlatformAbstractions": "1.0.0-rc1-final" }, "commands": { "run": "ConsoleApp", "ef": "EntityFramework.Commands" }, "frameworks": { "dnxcore50": { "dependencies": { "System.Console": "4.0.0-beta-*" } } } } 

运行dotnet restore和相同的错误:

 Errors in /home/joel/Projects/EFTest/project.json Package Ix-Async 1.2.5 is not compatible with dnxcore50 (DNXCore,Version=v5.0). Package Ix-Async 1.2.5 supports: - net40 (.NETFramework,Version=v4.0) - net45 (.NETFramework,Version=v4.5) - portable-net45+win8+wp8 (.NETPortable,Version=v0.0,Profile=Profile78) Package Remotion.Linq 2.0.1 is not compatible with dnxcore50 (DNXCore,Version=v5.0). Package Remotion.Linq 2.0.1 supports: - net35 (.NETFramework,Version=v3.5) - net40 (.NETFramework,Version=v4.0) - net45 (.NETFramework,Version=v4.5) - portable-net45+win8+wp8+wpa81 (.NETPortable,Version=v0.0,Profile=Profile259) Package System.Collections.Immutable 1.1.36 is not compatible with dnxcore50 (DNXCore,Version=v5.0). Package System.Collections.Immutable 1.1.36 supports: portable-net45+win8+wp8+wpa81 (.NETPortable,Version=v0.0,Profile=Profile259) One or more packages are incompatible with DNXCore,Version=v5.0. NuGet Config files used: /home/joel/.nuget/NuGet/NuGet.Config Feeds used: https://dotnet.myget.org/F/dotnet-core/api/v3/index.json https://www.myget.org/F/aspnetcirelease/api/v3/index.json https://api.nuget.org/v3/index.json 

那么我修改了这个项目的最新版本:

 { "dependencies": { "Microsoft.EntityFrameworkCore.Sqlite": "1.0.0-*", "Microsoft.EntityFrameworkCore.Commands": "1.0.0-*", "Microsoft.Extensions.PlatformAbstractions": "1.0.0-*" }, "commands": { "run": "ConsoleApp", "ef": "Microsoft.EntityFrameworkCore.Commands" }, "frameworks": { "dnxcore50": { "dependencies": { "System.Console": "4.0.0-beta-*" } } } } 

还原给了我这个:

 Errors in /home/joel/Projects/EFTest/project.json Package Ix-Async 1.2.5 is not compatible with dnxcore50 (DNXCore,Version=v5.0). Package Ix-Async 1.2.5 supports: - net40 (.NETFramework,Version=v4.0) - net45 (.NETFramework,Version=v4.5) - portable-net45+win8+wp8 (.NETPortable,Version=v0.0,Profile=Profile78) Package Remotion.Linq 2.0.2 is not compatible with dnxcore50 (DNXCore,Version=v5.0). Package Remotion.Linq 2.0.2 supports: - net35 (.NETFramework,Version=v3.5) - net40 (.NETFramework,Version=v4.0) - net45 (.NETFramework,Version=v4.5) - portable-net45+win8+wp8+wpa81 (.NETPortable,Version=v0.0,Profile=Profile259) One or more packages are incompatible with DNXCore,Version=v5.0. 

请大家帮忙,我真的想要在Linux下得到一个概念certificate,但这似乎不太可能。

谢谢

我使用.net core beta-7 / sqLite做了一个概念验证项目,它正在使用linux。 我正在将其迁移到RC2。

这是一个已知的问题,请在这里找到解决方法:

https://github.com/aspnet/Home/releases/tag/1.0.0-rc2-final#issue132