.NET Core 跨平台发布(dotnet publish)
.NET Core 跨平台发布(dotnet publish) ,无需安装.NET Core SDK,就可以运行。
前面讲解了.NET Core 的VSCode 开发。现在来讲讲发布(dotnet publish)。
.NET Core and ASP.NET Core 1.0 RC2 runtime and libraries 在五月中旬发布。
.NET Core and ASP.NET Core 1.0 RTM (release) runtime and libraries 六月底发布。
https://blogs.msdn.microsoft.com/dotnet/2016/05/06/net-core-rc2-improvements-schedule-and-roadmap/
跨平台发布
简单新建一个项目。
mkdir dotnethello cd dotnethello dotnet new
dotnet new之后 修改project.json 如下:
{
"version": "1.0.0-*",
"buildOptions": {
"emitEntryPoint": true
},
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform", //去掉
"version": "1.0.0-rc2-*"
}
},
"frameworks": {
"netcoreapp1.0": {
"imports": "dnxcore50"
}
},
"runtimes":{//加入runtime
"win7-x64": { },
"win7-x86": { },
"osx.10.10-x64": { },
"osx.10.11-x64": { },
"ubuntu.14.04-x64":{ }
}
}
添加NuGet.Config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<clear />
<add key="AspNetCI" value="https://www.myget.org/F/aspnetcirelease/api/v3/index.json" />
<add key="NuGet.org" value="https://api.nuget.org/v3/index.json" />
</packageSources>
</configuration>
dotnet restore
还原以后就可以编译发布了。
Windows:
这里默认输入 dotnet publish 会发布 win7-x64 。
我们定位到 win7-x64\publish 文件夹,可以直接执行 dotnethello.exe ,无需安装.netcore sdk 。
Ubuntu:
我们要发布到linux ubuntu 直接指定 runtime 。
dotnet publish -r ubuntu.14.04-x64
把发布文件夹(ubuntu.14.04-x64/publish)拷贝到ubuntu上。
直接就可以执行,不需要安装.netcore sdk,只需.netcore依赖的几个包:
https://github.com/dotnet/cli/blob/rel/1.0.0/Documentation/cli-prerequisites.md
https://github.com/dotnet/core/blob/master/Documentation/prereqs.md
Ubuntu distributions require the following libraries installed:
- libunwind8
- libunwind8-dev
- gettext
- libicu-dev
- liblttng-ust-dev
- libcurl4-openssl-dev
- libssl-dev
- uuid-dev
- unzip
设置文件夹下的执行文件dotnethello 设置好权限以后直接 ./dotnethello
CentOS:
CentOS distributions require the following libraries installed:
- deltarpm
- epel-release
- unzip
- libunwind
- gettext
- libcurl-devel
- openssl-devel
- zlib
- libicu-devel
Mac OS:
同理mac os 一样,指定osx runtime。
dotnet publish -r osx.10.10-x64
将 osx.10.10-x64/publish 拷贝到mac os 。
OS X 需要安装libssl
OS X requires the following libraries and versions installed:
- libssl 1.1
执行dotnethello
这样我们无需安装.NET Core SDK 就可以运行.NET Core 应用程序。实现了.NET Core 跨平台。
如果你觉得本文对你有帮助,请点击“推荐”,谢谢。
.NET Core 跨平台发布(dotnet publish)的更多相关文章
- .NET Core 发布(dotnet publish)
目录 一.需求 二.方法 三.参考 一.需求 使用.net core 3.0建的项目,一般情况下,每次想发布都要打开vs,然后点击发布,选择配置: 如果想用cmd命令行发布,应该怎么写呢? 二.方法 ...
- .NET Core 跨平台发布Linux和OSX
跨平台发布 简单新建一个项目. mkdir dotnethello cd dotnethello dotnet new dotnet new之后 修改project.json 如下: { " ...
- .net core跨平台发布至centos7
在要发布的项目目录下输入发布命令 dotnet publish -r centos.-x64 发布成功后,文件位于xxx\bin\Debug\netcoreapp2.0\centos.7-x64\pu ...
- ASP.NET Core "完整发布,自带运行时" 到jexus
一.阅读前须知 1.使用 jexus整合asp.net core的优点: 1)支持多站点,同一端口可以同时支持任何多的asp.net core应用程序: 2)应用程序启动.停 ...
- dotnet core 跨平台编译发布
vs2017 建立的项目,在项目目录 ,执行 dotnet publish -r ubuntu.15.04-x64 dotnet publish -r linux-x64 dotnet publish ...
- 这可能是最low的发布dotnet core站点到centos7
前言 不得不说:我在chrome上写了好长一段,贴了23张图,然后一个crash..我想说我电脑上的chrome已经crash太多次了 以后一定要搞离线编辑的. 正文 什么是.net core,bal ...
- 手把手教你用Jenkins自动发布dotnet core程序
Jenkins部分 首先,我们要有个Jenkins咯,下载链接:https://jenkins.io/download/ 我们安装官网教程安装好jenkins,安装教程略.... 嗯?不是说好手把手么 ...
- 这可能是最low的发布dotnet core站点到centos7教程
前言 不得不说:我在chrome上写了好长一段,贴了23张图,然后一个crash..我想说我电脑上的chrome已经crash太多次了 以后一定要搞离线编辑的. 正文 什么是.net core,bal ...
- .Net Core 跨平台:一个简单程序的多平台(windows、Linux、osx)发布
.Net Core 跨平台:一个简单程序的多平台(windows.Linux.osx)发布 .Net Core 3.0 已于2019年9月23日发布了,包含了一些新特性,具体参见Announcing ...
随机推荐
- 手把手教你玩转nginx负载均衡(三)----配置虚拟服务器网络
引言 虽然上一篇我们成功的启动了虚拟机,也安装好了操作系统,但是这台虚拟机和主机以及其他虚拟机是没有办法连通的,我们的目标是配置多台服务器并且配置nginx反向代理,来实现负载均衡,所以不能访问内网是 ...
- url地址的图片路径
url地址的图片路径: (./images/1.jpg) 中的./指根路径,有或没有都可以: (../images/1.jpg) 中的../指相对路径: (../../images/1.jpg) 中的 ...
- JS挂马攻防
JS挂马攻防实录 攻现在最多见的JS挂马方法有两种,一种是直接将JavaScript脚本代码写在网页中,当访问者在浏览网页时,恶意的挂马脚本就会通过用户的浏览器悄悄地打开网马窗口,隐藏地运行(图1), ...
- JsonHelper MergeJsonTemplate
namespace Test { using Newtonsoft.Json; using System; using System.Collections.Generic; using System ...
- C#: using JsonReader avoid Deserialize Json to dynamic
namespace Test { using Microshaoft; using Test.Models; using Newtonsoft.Json; using System; using Sy ...
- 高性能的JavaScript--加载和执行
写在前面 JavaScript在浏览器中的性能,可认为是开发者所要面对的最重要的可用性的问题,此问题因JavaScript的阻塞特征而复杂,也就是说JavaScript运行时其他的事情不能被浏览器处理 ...
- Spring 自带的定时任务
需要几天后,或者某个时间后,定时查询数据.需要用到Spring自带的一个注解 @Scheduled(cron="0/5 * * * * ? ")//每隔5秒钟执行 创建一个clas ...
- Greenplum查询计划分析
这里对查询计划的学习主要是对TPC-H中Query2的分析. 1.Query的查询语句 select s_acctbal, s_name, n_name, p_partkey, p_mfgr, s_a ...
- 前端性能优化--为什么DOM操作慢?
作为一个前端,不能不考虑性能问题.对于大多数前端来说,性能优化的方法可能包括以下这些: 减少HTTP请求(合并css.js,雪碧图/base64图片) 压缩(css.js.图片皆可压缩) 样式表放头部 ...
- Linux基础命令-有关于目录的命令
1. 查看帮助: [root@oracle ~]# man cd //查看 cd 指令的帮助文档 2. 显示当前工作目录: [root@oracle ~]# pwd/root 3. 列出当前目录下的内 ...