2016-08-30 66 views
4

我們有一個應用程序,使用在接受環境(linux服務器)上運行的.NET Core rc2編寫。 最近我們的客戶運行了他們自己的性能測試,結果證明它完全破壞了應用程序。由於以下幾個原因,我們無法自己複製: 1)我們在windows上開發 2)我們從rc2遷移到1.0.0。如何在ubuntu上並排安裝多個版本的.NET Core

在Windows上我們無法在新版本(1.0.0)或rc2中重現。因此我們試圖在Linux機器上重現它。在1.0.0上,我們也無法重現他們的結果,但是當我們試圖實際測試rc2(顯然是我們的應用的舊版本)時,我們遇到了一個非常惱人的問題:我似乎無法安裝1.0.0和rc2,儘管錯誤信息意味着它是可能的。 下面是錯誤消息

The specified framework 'Microsoft.NETCore.App', version '1.0.0-rc2-3002702' was not found. 
    - Check application dependencies and target a framework version installed at: 
     /usr/share/dotnet/shared/Microsoft.NETCore.App 
    - The following versions are installed: 
     1.0.0 
    - Alternatively, install the framework version '1.0.0-rc2-3002702'. 

Basicly我們希望能夠去檢查接受我們的Linux機器上的應用程序(RC2)的currenly運行的版本,但我們與它實際上得到RC2掙扎。

謝謝。如果有什麼不清楚的地方,請在評論中張貼您的問題。

編輯: 我試圖建立它作爲一個獨立的部署,但後來我得到以下錯誤:

Errors in /home/nicolaas/Projects/digipolis-survey-engine/Digipolis.FormEngine/Digipolis.FormEngine.Response.API/project.json 
    System.AppContext 4.1.0-rc2-24027 provides a compile-time reference assembly for System.AppContext on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with ubuntu.15.10-x64. 
    System.Runtime.InteropServices.RuntimeInformation 4.0.0-rc2-24027 provides a compile-time reference assembly for System.Runtime.InteropServices.RuntimeInformation on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with ubuntu.15.10-x64. 
    One or more packages are incompatible with .NETCoreApp,Version=v1.0 (ubuntu.15.10-x64). 

這是RC2實際上沒有在機器上安裝了可以預料的,我想建立它在Linux機器上

+1

您是否嘗試使用.Net核心的[standalone deployment](https://docs.microsoft.com/zh-cn/dotnet/articles/core/deploying/index#portable-applications)選項? – 2016-08-31 02:34:53

+0

我沒有。以前沒有想過......我現在就試試看,謝謝! – nicolaas

+0

您是否找到解決問題的方法? – Sharif

回答

0

這一直在爲我們工作。

  1. 安裝多個版本的dotnet運行時來分離目錄。

  2. 對於最新的運行時安裝,請爲每個較舊的運行時添加符號鏈接。例如,對於較舊的運行時1.1.2,我們創建符號鏈接/path/to/dotnet-latest/shared/Microsoft.NETCore.App/1.1.2 - > /path/to/dotnet-1.1.2/shared/Microsoft .NETCore.App/1.1.2

  3. 從最新的運行時安裝運行dotnet,它應該選擇適當的運行時。

請注意,這相當於Windows安裝程序發生的情況。新運行時被添加到共享安裝中。通過在sdk子目錄中添加適當的符號鏈接,可以使用類似的方法從單個安裝中獲得對多個sdks的支持。

相關問題