2016-09-14 71 views
1

在project.json我的應用程序升級到1.0.1版本,這樣後:無法升級應用到.NET的核心1.0.1在Linux上

"Microsoft.NETCore.App": { 
    "type": "platform", 
    "version": "1.0.1" 
}, 

這工作在Windows下,但不能在Linux下。 在Linux下我得到這個錯誤:

Project BackendGems (.NETCoreApp,Version=v1.0) was previously compiled. Skipping compilation. 
Project test (.NETCoreApp,Version=v1.0) was previously compiled. Skipping compilation. 
The specified framework 'Microsoft.NETCore.App', version '1.0.1' was not found. 
    - Check application dependencies and target a framework version installed at: 
     /opt/dotnet_cli/shared/Microsoft.NETCore.App 
    - The following versions are installed: 
     1.0.0 
    - Alternatively, install the framework version '1.0.1'. 
SUMMARY: Total: 1 targets, Passed: 0, Failed: 1. 

我試圖刪除的NuGet高速緩存,並確保我有同樣的SDK版本1.0.0-preview2-003121

什麼可能會出錯?

回答

5

您在project.json上所做的更改將強制您的應用在運行時版本> = v1.0.1上運行,否則會失敗。

dotnet restore更新依賴項,但不更新運行時。

因此,您只需在/opt/dotnet_cli/shared/Microsoft.NETCore.App中安裝1.0.1運行時即可,如錯誤消息所述。

每一個Linux發行版對.NET網站不同的安裝指導,因此它可能是你的情況,你可以這樣做「的apt-get安裝的dotnet-DEV-1.0.1」

但對於Debian的,我只好手工進行:

$ wget https://go.microsoft.com/fwlink/?LinkID=825887 -O dotnet-1.0.1.tar.gz

    01下載
  • 恢復它/opt/dotnet_cli/shared/Microsoft.NETCore.App

tar zxvf dotnet-1.0.1.tar.gz -C /opt/dotnet_cli/

現在dotnet run按預期工作。

編輯:看起來像MS正在更新下載頁面,所以你會發現現在下載的文件標記爲.NET Core binaries only(沒有提到1.0.1)。但該文件仍然是一個。

+0

這可能是它。對於我的發行版Gentoo,我還沒有合適的運行時間。然而我不知道,CLI也有它自己的主機運行時。我認爲這很奇怪,考慮到.net核心聲稱即使是運行時部件也只是被視爲依賴並且被安裝。 請參閱'〜/ .nuget/packages/Microsoft.NETCore.App /'。但是在這個文件夾中似乎沒有二進制文件。 – vanthome

+0

你需要編譯你的應用程序。查看包含應用程序的文檔。 – Thomas

相關問題