.Net Core Runtime安装说明

在开发阶段,都是直接安装.Net Core的SDK,但是在部署的时候你还是直接装SDK吗?当然直接装SDK也没什么问题,也可以少一些麻烦。但是如果你像我一样不喜欢在产线上装SDK,只想装Runtime,那么这篇文章可能会对你有帮助。这里我们谈的都是针对便携式发布的应用程序。

.Net 下载中心

https://www.microsoft.com/net/download/all

你可以在这里下载所有.Net相关的运行时或者SDK。这里我们主要看看.Net Core。

.Net Core应用程序

如使用便携式发布的,那发布的程序中不会包含.Net Core运行时,在部署到服务器的时候就需要安装对应的.Net Core运行时。可直接按照官方的文档,使用包管理器来安装。

例如:Linux Ubuntu 16.04

curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
sudo mv microsoft.gpg /etc/apt/trusted.gpg.d/microsoft.gpg
sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-xenial-prod xenial main" > /etc/apt/sources.list.d/dotnetdev.list'
sudo apt-get install apt-transport-https
sudo apt-get update
sudo apt-get install dotnet-runtime-2.0.6

这样你的程序就可以正常运行了。

ASP.Net Core应用程序

如果你的是ASP.Net Core应用程序,你会发现使用上述方式安装了.net core运行时之后,你的程序还是无法正常运行。会出现大概类似下面这样的错误:

Error:
 An assembly specified in the application dependencies manifest (ZKEACMS.WebHost.deps.json) was not found:
 package: 'Microsoft.ApplicationInsights.AspNetCore', version: '2.1.1'
 path: 'lib/netstandard1.6/Microsoft.ApplicationInsights.AspNetCore.dll'
 This assembly was expected to be in the local runtime store as the application was published using the following target manifest files:
 aspnetcore-store-2.0.0-linux-x64.xml;aspnetcore-store-2.0.0-osx-x64.xml;aspnetcore-store-2.0.0-win7-x64.xml;aspnetcore-store-2.0.0-win7-x86.xml

这是因为只安装了.Net Core运行时,而没有安装ASP.NET Core运行时

当然,你也可以在发布的时候带上它:

<PropertyGroup>
 <PublishWithAspNetCoreTargetManifest>false</PublishWithAspNetCoreTargetManifest> 
</PropertyGroup>

或者直接在运行时里面补上它就可以了。下载它,然后解压到dotnet的安装目录

wget -O aspnetcore-store.tar.gz https://download.microsoft.com/download/8/D/A/8DA04DA7-565B-4372-BBCE-D44C7809A467/aspnetcore-store-2.0.6-linux-x64.tar.gz
tar zxf aspnetcore-store.tar.gz -C /usr/share/dotnet

然后你就可以运行你的程序了。

Server Hosting

微软已经为你打包好了.Net Core Runtime和ASP.Net Core Runtime,可以不用先装.Net Core Runtime再装ASP.Net Core Runtime,直接下载就可以使用了:

mkdir dotnet
wget -O https://download.microsoft.com/download/8/D/A/8DA04DA7-565B-4372-BBCE-D44C7809A467/dotnet-hosting-2.0.6-linux-x64.tar.gz
tar zxf aspnetcore-store.tar.gz -C dotnet

Windows比较简单,直接安装Windows Server Hosting就可以了。

不过,为什么不可以通过包管理工具,直接安装.Net Core Runtime和ASP.Net Core Runtime呢?

原文链接:http://www.zkea.net/codesnippet/detail/post-98.html

原文链接:http://www.zkea.net/codesnippet/detail/post-98.html

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏晓晨的专栏

.NET Core 项目指定SDK版本

自从 .NET Core 2.1.0版本发布以后,近几个月微软又进行了几次小版本的发布,可见 .NET Core 是一门生命力非常活跃的技术。经过一段时间的实践...

1331
来自专栏图形学与OpenGL

实验0 安装GLUT包与创建工程

OpenGL是一个非常优秀的图形软件接口。OpenGL官方网站(英文)http://www.opengl.org/

941
来自专栏安恒信息

​Windows SMB高危漏洞再度来袭,安恒信息提供免费检测工具包

Windows系统安全更新 2017年10月10日,微软发布了2017年10月安全更新公告,修补了多个高危漏洞,根据公告描述,受影响的系统从Windows Se...

3686
来自专栏王硕

原 如何在windows下手动初始化PostgreSQL数据库

39815
来自专栏cs

C#入门1.0 与J2ee对立的平台.net

既然说要写一些c#语法了,那就必须得说一说.net平台了。先水一下。 ? ---- ? ---- ? ---- ? ---- ? ---- ? 更详细的东西...

3679
来自专栏ASP.NETCore

Win10上编译CoreCLR的Windows和Linux版本

首先,不管是Windows还是Linux版本CoreCLR的编译,都是在Windows10上进行的。

1352
来自专栏ASP.NETCore

ASP.NET Core 整合Autofac和Castle实现自动AOP拦截

除了ASP.NETCore自带的IOC容器外,我们还可以使用其他成熟的DI框架,如Autofac,StructureMap等(笔者只用过Unity,Ninjec...

1374
来自专栏张善友的专栏

Paket 介绍

在国外.NET社区有一个很火的话题是Packet(https://fsprojects.github.io/Paket/index.html ),它本质上是Nu...

2119
来自专栏张善友的专栏

Asp.net 2.0的异常处理需要考虑的问题

在.NET 1.1, 只有主线程中未处理的异常才会终止应用程序的运行,其他的线程的异常.CLR会处理,因此你的应用程序可以正常运行.在 .NET 2.0, 任何...

1955
来自专栏程序员与猫

ASP.NET Core服务器综述

原文地址:Servers overview for ASP.NET Core By Tom Dykstra, Steve Smith, Stephen Halt...

2635

扫码关注云+社区

领取腾讯云代金券