2016-08-30 67 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的支持。

相关问题