[翻译]第三天- 在 Mac 上运行 .NET Core 应用程序
原文: http://michaelcrump.net/part3-aspnetcore/
简介
该系列文章的完整列表如下:
- 第一天 - 在 Windows 下安装和运行 .NET Core
- 第二天 - Visual Studio 中的 .NET Core 模版一览
- 第三天 - 在 Mac 上运行 .NET Core 应用程序
- 第四天 - 从 .NET Core 应用程序创建 NuGet 包
- 第五天 - 创建一个 .NET Core 测试项目
- 第六天 - 将一个已有的 .NET Core 项目迁移到 csproj
- 第七天 - 创建一个 ASP.NET Core 应用程序
- 第八天 - 使用 Visual Studio Code 开发一个 .NET Core 控制台应用程序
在这篇文章中,我们将观察下在命令行中运行 .NET Core App,接着在Mac上运行。
在 Windows 命令提示符中运行 App
虽然在Visual Studio中通过F5命令可以很轻松地运行应用程序,但是你也要知道可以在控制台中运行它。在开始之前,确保在这里获取到应用程序。在下载应用程序后,在命令提示窗口中打开包含项目的文件夹。
你可以输入以下简单的命令来运行应用程序:
dotnet run
可以得到以下输出:
C:\Users\mbcrump\Documents\visual studio 2015\Projects\NetCoreConsoleApp\src\NetCoreConsoleApp>dotnet run
Project NetCoreConsoleApp (.NETCoreApp,Version=v1.0) was previously compiled. Skipping compilation.
{
"Active": true,
"CreatedDate": "2017-02-20T00:00:00Z",
"Email": "michael@blah.com",
"Roles": [
"User",
"Admin"
]
}
在Visual Studio中运行可以得到同样的结果:

使用 dotnet publish 发布到Mac
继续在命令提示符中输入dotnet publish,然后输入tree查看列出的目录,如下所示:
C:.
├───bin
│ └───Debug
│ └───netcoreapp1.0
│ └───publish
├───obj
│ └───Debug
│ └───netcoreapp1.0
└───Properties
切换到到输出目录然后列出目录的文件:
02/08/2017 06:50 PM <DIR> .
02/08/2017 06:50 PM <DIR> ..
02/08/2017 06:50 PM 1,417 NetCoreConsoleApp.deps.json
02/08/2017 02:52 PM 6,144 NetCoreConsoleApp.dll
02/08/2017 02:52 PM 13,824 NetCoreConsoleApp.pdb
02/08/2017 06:50 PM 125 NetCoreConsoleApp.runtimeconfig.json
06/13/2016 10:06 PM 468,480 Newtonsoft.Json.dll
06/11/2016 10:14 PM 29,632 System.Runtime.Serialization.Primitives.dll
6 File(s) 519,622 bytes
2 Dir(s) 74,699,058,176 bytes free
需要注意,以下列出的引用的dll文件是我们在上一篇博客中添加的:
- Newtonsoft.Json.dll
- System.Runtime.Serialization.Primitives.dll
只有 NetCoreConsoleApp.dll 是我们要在Mac上运行的控制台应用程序(或者其他支持.NET Core 的平台)。
在Mac上运行应用程序
终于是时候了!我猜你可能会这么说,我也同意。在Mac上运行这个app之前,你需要回到在.NET Core下载页面,安装 OpenSSL 和 SDK(或者运行时),如果你还记得第一篇博客上讲的它们的区别。
为了要在Mac上运行这个app,你需要将publish文件夹复制到你的Mac上。然后打开终端,只需要输入以下命令来运行这个app:
dotnet NetCoreConsoleApp.dll

太棒了!现在你有了一个运行在其他平台上的.NET Core 应用程序,你可以用之前就拥有的.NET技能来创建它。我大爱 .NET Core!
结束语
好了,我要告一段落了,然后在下周回来。和以前一样,感谢你阅读这篇文章,如果觉得有用请点击分享按钮。此外,请随时在下面给我留言,或者在Twitter上关注我。
[翻译]第三天- 在 Mac 上运行 .NET Core 应用程序的更多相关文章
- [译]在Mac上运行ASP.NET 5
原文:http://stephenwalther.com/archive/2015/02/03/asp-net-5-and-angularjs-part-7-running-on-a-mac 这篇文章 ...
- mac 上运行cassandra出现的java.net.MalformedURLException: Local host name unknown: java.net.UnknownHostException: : : unknown error错误解决方法
mac 上运行cassandra出现的java.net.MalformedURLException: Local host name unknown: java.net.UnknownHostExce ...
- 在树莓派上运行 .net core 2.1 程序 并实现开机启动
本篇文章完整的说明如和在树莓派上运行 .net core2.1程序,当然也参考了其他的博客,此处结合我自己的经验,再写一篇完整的博客,方便大家,还有我自己进行查阅. https://blog.csdn ...
- 使 IIS 6.0 可以在 64 位 Windows 上运行 32 位应用程序 试图加载格式不正确的程序。
原文 使 IIS 6.0 可以在 64 位 Windows 上运行 32 位应用程序 试图加载格式不正确的程序. win7 64位操作系统上边运行IIS网站应用的时候,提示错误"试图加载格式 ...
- 如何在自定义端口上运行 Spring Boot 应用程序?
为了在自定义端口上运行 Spring Boot 应用程序,您可以在 application.properties 中指定端口. server.port = 8090
- .NET跨平台之旅:探秘 dotnet run 如何运行 .NET Core 应用程序
自从用 dotnet run 成功运行第一个 "Hello world" .NET Core 应用程序后,一直有个好奇心:dotnet run 究竟是如何运行一个 .NET Cor ...
- 在CentOS 8 上 部署 .Net Core 应用程序
在Centos 8 上 部署 .Net Core 应用程序 -- 记录篇 1.更新dnf 源 1 dnf update 2.安装 Asp.Net Core 运行时 1 dnf install ...
- Mono 4.0 Mac上运行asp.net mvc 5.2.3
Mono 4.0 已经发布,二进制包已经准备好,具体的发布说明参见:http://www.mono-project.com/docs/about-mono/releases/4.0.0/. 今天在Ma ...
- mac上运行shell脚本遇到回车字符错误
今天运行一段其他人给的shell脚本,遇到如下问题,这个脚本的内容如下: dname=\((dirname "\)PWD") mkdir ${dname}"/rom_pu ...
随机推荐
- proguard-rules.pro、混淆、导jar包
前记: 买了一个<精通Android Studio>本来最想看的是关于混淆导jar包的,哪知道没有,有点小失望. 好吧,自己来. 在用Android Studio开发的时候,把minify ...
- tomcat+servlet例子
在C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\app\WEB-INF文件夹下建立文件夹classes. 在C:\Pro ...
- cxf 介绍
CXF 编辑 目录 1Apache CXF 简介 关于Apache CXF 功能特性 项目目标 2Apache CXF特点 灵活部署 支持多种编程语言 代码生成 1Apache CXF ...
- OneZero_Aphla发布总结以及自己的体会
Aphla发布正式结束了.清明时节,总要祭奠点什么. 以下是这一周的燃尽图. 可以发现,并没有燃尽.所以OneZero的Aphla发布失败了. 失败原因有至少以下三点: 1.组长分配任务存在隐患,高风 ...
- Twitter 相关APP开发
首先要获取 Consumer Key (API Key), Consumer Secret (API Secret):最好申请Access Token 和Access Token Secret,不然验 ...
- Sharing Code Between Silverlight and Win8 app metro
这里讲得很详细了: Sharing Code between Windows Phone 8 and Windows 8 Applications http://msdn.microsoft.com/ ...
- 【转】ssh-copy-id帮你建立信任
本原创文章属于<Linux大棚>博客. 博客地址为http://roclinux.cn. 文章作者为roc. == 对于做运维的同学来说,给两台UNIX/Linux机器建立ssh信任关系是 ...
- 2019.01.14 bzoj5343: [Ctsc2018]混合果汁(整体二分+权值线段树)
传送门 整体二分好题. 题意简述:nnn种果汁,每种有三个属性:美味度,单位体积价格,购买体积上限. 现在有mmm个询问,每次问能否混合出总体积大于某个值,总价格小于某个值的果汁,如果能,求所有方案中 ...
- C++STL set
set set是一种集合容器,所包含的元素是唯一的,集合中的元素按一定顺序排列,元素插入过程是按排序规则插入,所以不能插入指定位置 set采用红黑树变体的数据结构实现,红黑树属于平衡二叉树,插入和删除 ...
- zip / unzip 的用法
zip 1.功能作用:压缩文件或者目录 2.位置:/usr/bin/zip 3.格式用法:zip [-options] [-b path] [-t mmddyyyy] [-n suffixes] [z ...