2016-05-16 64 views
3

我在試圖讓一個簡單的項目在Linux上運行時遇到了很大的麻煩。我在Windows上創建了一個簡單的MVC應用程序,但是我無法將其遷移到Linux。起初我以爲它是基於平臺的,但現在我不這麼認爲。實體框架7在Linux Dot Net Core CLR上工作嗎?

我開始用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和得到這個

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要去的證據,但這似乎不太可能。

感謝

+0

從project.json刪除dnxCore - 也許等待與相關型號指導RC2這裏:HTTP://ef.readthedocs。 io/en/latest/ – ErikEJ

+0

謝謝,我不知道該如何替換dnxcore? – user171258

回答