我们有一个应用程序,用.NET Core rc2编写,在验收环境(linux服务器)上运行。 最近我们的客户运行了他们自己的性能测试,结果证明完全破坏了应用程序。由于以下几个原因,我们无法自行复制: 1)我们在Windows上开发 2)我们已经从rc2迁移到1.0.0。
在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'.
基本上我们希望能够检查当前在linux机器上接受我们的应用程序(rc2)时正在运行的版本,但我们正在努力实际获得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机器上构建它
答案 0 :(得分:1)
这对我们有用。
将多个版本的dotnet运行时安装到不同的目录中。
对于最新的运行时安装,请为每个较旧的运行时添加符号链接。例如,对于较早的运行时1.1.2,我们创建了symlink /path/to/dotnet-latest/shared/Microsoft.NETCore.App/1.1.2 - > /path/to/dotnet-1.1.2/shared/Microsoft.NETCore.App/1.1.2
从最新的运行时安装中运行dotnet,它应该选择适当的运行时。
请注意,这与Windows安装程序的操作相同。新运行时将添加到共享安装中。通过在sdk子目录中添加适当的符号链接,可以使用类似的方法从单个安装中获得对多个sdks的支持。
答案 1 :(得分:0)
只需使用dotnet install
脚本:https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-install-script
答案 2 :(得分:0)
从 https://dotnet.microsoft.com/download/dotnet 下载 tar.gz 包 并使用以下命令安装软件包:
mkdir -p $HOME/dotnet && tar zxf dotnet-sdk-6.0.100-preview.3.21202.5-linux-x64.tar.gz -C $HOME/dotnet
export DOTNET_ROOT=$HOME/dotnet
export PATH=$PATH:$HOME/dotnet
scound 版本将被添加到 sdks 文件夹中,您可以通过运行来确认安装:
dotnet --list-sdks
我发现所有其他解决方案都无用且难以使用,而 dotnet-install 脚本非常难以使用且毫无意义。