[翻译]第三天- 在 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 ...
随机推荐
- 获取input输入框中的值的方法
方法一:获取input的文本值 <input class="form-text-normal" id="txtName" name="Name& ...
- Nodejs学习笔记:基础
本文章主要记录Nodejs基础知识点 安装 首先从Node.js官网下载安装包,并添加到环境变量.然后打开命令行,输入 node --version ,可查看版本信息 npm是Node.js的包管理工 ...
- Twitter 相关APP开发
首先要获取 Consumer Key (API Key), Consumer Secret (API Secret):最好申请Access Token 和Access Token Secret,不然验 ...
- mybatis 接口绑定 和 动态SQL
一.MyBatis 接口绑定方案及多参数传递 1.作用:实现创建一个接口后把mapper.xml由mybatis生成接口的实现类,通过调用接口对象就可以获取mapper.xml中编写的sql 2.后面 ...
- springboot mybatis 分页整合
spring boot 整合mybatis ,分两块mybatis 整合,分页整合. 1.pom文件增加 <dependency> <groupId>org.mybatis ...
- Le Chapitre IX
Je crois qu'il profita, pour son évasion[evazjɔ̃]逃跑, d'une migration d'oiseaux sauvages[sovaʒ]未驯化的. ...
- C中的volatile用法[转载]
volatile 影响编译器编译的结果,指出,volatile 变量是随时可能发生变化的,与volatile变量有关的运算,不要进行编译优化,以免出错,(VC++ 在产生release版可执行码时会进 ...
- arguments[0]()的详解
var length = 10; function fn(){ console.log(this.length); } var obj = { length:5, method:function(fn ...
- timeSetEvent
Header: Declared in Mmsystem.h; include Windows.h.Library: Use Winmm.lib. MSDN里定义的函数原型如下: MMRESULT t ...
- 批处理FINDSTR正则表达式用法实例分析
1.findstr . 2.txt 或 Findstr "." 2.txt 从文件2.txt中查找任意字符,不包括空字符或空行 2.findstr .* 2.txt 或 finds ...