如何在 centos 上将 dotnetcore 从 1.0.4 版本升级到 2.0.2 版本?
Posted
技术标签:
【中文标题】如何在 centos 上将 dotnetcore 从 1.0.4 版本升级到 2.0.2 版本?【英文标题】:how to upgrade dotnetcore from version 1.0.4 to version 2.0.2 on centos? 【发布时间】:2018-03-26 19:52:47 【问题描述】:如何在 centos 上将 .net-core 从 1.0.4 版升级到 2.0.2 版? 我有一些asp.net核心应用在centos 7.4.1708版本上运行,现在dotnet的版本是1.0.4,那么如何升级到2.0.2版本呢?非常感谢!
抱歉,我知道了,不知何故,Microsoft 产品提要因错误而被删除,就是这样。
一些坑或提示:一般.net-core 1.0会安装在/opt/dotnet .net-core 2.0.0 将安装在 /usr/share/dotnet,所以当你完成 升级,你可能会想为什么命令“dotnet --version”的结果仍然是1.0.4,你需要取消链接/usr/local/bin/dotnet和ln -s usr/share/dotnet/dotnet,因为/usr/local/ bin 默认在 /usr/bin 之前。
如果您的应用程序是在 .net-core 1.0 下开发的,则它们无法在 .net-core 2.0.0,错误将是 “找不到任何兼容的框架版本 找不到指定的框架“Microsoft.NETCore.App”,版本“1.1.2”。 - 检查应用程序依赖项并定位安装在以下位置的框架版本:/ - 或者,安装框架版本 '1.1.2'"
.net-core 2.0.2版本情况下,没有上述麻烦问题。
csproj 文件:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp1.1</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="1.1.1" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="1.1.0" />
<PackageReference Include="Pomelo.EntityFrameworkCore.mysql" Version="1.1.2" />
<PackageReference Include="Pomelo.EntityFrameworkCore.MySql.Design" Version="1.1.2" />
</ItemGroup>
<ItemGroup>
<DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="1.0.0" />
</ItemGroup>
</Project>
【问题讨论】:
能否提供csproj文件? 【参考方案1】:您的 centOS 上有多个 SDK。 如果你尝试
/usr/bin/dotnet --version
命令你会看到版本是2.0.2
你可以这样解决问题:
rm -f /usr/local/bin/dotnet
ln -s /usr/share/dotnet/dotnet /usr/local/bin/dotnet
【讨论】:
以上是关于如何在 centos 上将 dotnetcore 从 1.0.4 版本升级到 2.0.2 版本?的主要内容,如果未能解决你的问题,请参考以下文章
如何在CentOS 6.7上将PHP 5.3升级到PHP 5.6
如何在 CentOS 上将 Python3.5.2 设置为默认 Python 版本?
如何在 centos 上将 subversion(svn) 1.6.11 版本升级到 1.8.5 版本?