Entity Framework 7 是否适用于 Linux Dot Net Core CLR?
Does Entity Framework 7 work on Linux Dot Net Core CLR?
我在 Linux 上尝试将一个简单的项目添加到 运行 时遇到了很大的麻烦。我毫不费力地在 windows 上创建了一个简单的 MVC 应用程序,但是我无法将它迁移到 Linux。起初我认为它是基于平台的,但现在我不这么认为了。
我按照 CentOS 的说明开始使用
https://docs.asp.net/en/latest/getting-started/installing-on-linux.html#installing-on-centos-7
我可以让 dnvm 到 运行 和 dnx,但 dotnet 只会 运行 并退出。 DNX 有点工作,但是当尝试访问 Web 应用程序时,它会停止,不记录任何内容,并且直到强制执行 kill -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 restore 并得到了这个
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 中获得概念证明,但这似乎不太可能。
谢谢
我用 .net core beta-7/sqLite 做了一个概念验证项目,它正在 linux 上工作。我正在将它迁移到 RC2。
这是一个已知问题,请在此处找到解决方法:
https://github.com/aspnet/Home/releases/tag/1.0.0-rc2-final#issue132
我在 Linux 上尝试将一个简单的项目添加到 运行 时遇到了很大的麻烦。我毫不费力地在 windows 上创建了一个简单的 MVC 应用程序,但是我无法将它迁移到 Linux。起初我认为它是基于平台的,但现在我不这么认为了。
我按照 CentOS 的说明开始使用 https://docs.asp.net/en/latest/getting-started/installing-on-linux.html#installing-on-centos-7
我可以让 dnvm 到 运行 和 dnx,但 dotnet 只会 运行 并退出。 DNX 有点工作,但是当尝试访问 Web 应用程序时,它会停止,不记录任何内容,并且直到强制执行 kill -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 restore 并得到了这个
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 中获得概念证明,但这似乎不太可能。
谢谢
我用 .net core beta-7/sqLite 做了一个概念验证项目,它正在 linux 上工作。我正在将它迁移到 RC2。
这是一个已知问题,请在此处找到解决方法:
https://github.com/aspnet/Home/releases/tag/1.0.0-rc2-final#issue132