.NET Core 跨平台发布(dotnet publish)
2016-05-09 22:59
435 查看
.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/
dotnet new之后 修改project.json 如下:
添加NuGet.Config
dotnet restore
还原以后就可以编译发布了。
我们定位到 win7-x64\publish 文件夹,可以直接执行 dotnethello.exe ,无需安装.netcore sdk 。
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
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
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 的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
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
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 跨平台。
如果你觉得本文对你有帮助,请点击“推荐”,谢谢。
相关文章推荐
- LoadRunner把关联取值当作检查点来使用
- 医学图像处理基础概念
- java 线程五-死锁经典举例
- Android学习(46) -- SmartImageView
- HDU 4081 Qin Shi Huang's National Road System 最小生成树
- 基于注解的Spring mvc 简单了解
- 配置文件保存的几种方法
- leetcode.209. Minimum Size Subarray Sum
- 单例模式与垃圾回收 学习笔记
- Mysql 优化原则
- 算法导论 最长公共子序列的c程序实现带主函数
- linux基础(14)--输入输出重定向、文件查找--RHEL6.5
- Android 开发入门之《第一行代码》(1)
- java 线程四
- c++实验5-求和
- 用JAVA实现一个爬虫,爬取知乎的上的内容
- Spring IOC容器-注解的方式【更简化】
- 用vscode写博客和发布
- CDOJ 1325 卿学姐与基本法 (离散化+区间修改)
- textview删除线