2016-08-30 4 views
4

受け入れ環境(Linuxサーバー)で動作する.NET Core rc2で書かれたアプリがあります。 最近、私たちのクライアントは独自のパフォーマンステストを実行しましたが、これはアプリケーションを完全に破棄することが判明しました。 1)Windows上で開発する 2)これ以降、rc2から1.0.0に移行しました。複数のバージョンの.NET Coreをubuntuに並べてインストールする方法

Windowsでは、新しいバージョン(1.0.0)またはrc2で再現できませんでした。 これをLinuxマシンで再現しようとしました。 1.0.0では結果も再現できませんでしたが、実際にrc2(私たちのアプリの古いバージョン)に対して実際にテストしようとしたとき、私たちは本当に面倒な問題に遭遇しました。私はインストールできないようです1.0.0とrc2を並べて表示することができます。 以下は私たちがcurrenly Linuxマシン上で我々のアプリ(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ですが、私たちは実際にそれに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コアの[スタンドアロンデプロイメント](https://docs.microsoft.com/en-us/dotnet/articles/core/deploying/index#portable-applications)オプションを試しましたか? –

+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をサポートすることもできます。

関連する問題