[翻译]第三天- 在 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 ...
随机推荐
- YII配置mysql读写分离
Mysql 读写分离 YIi 配置 <?php return [ 'class' => 'yii\db\Connection', 'masterConfig' => [ // 'ds ...
- Windows服务器支持json文件
Windows服务器默认是不支持json文件的直接读取的.如在浏览器中输入地址访问或是通过代码访问,都是无法获取到数据的.需要在服务器端进行配置,让服务器支持解析.json扩展名的json文件. 方法 ...
- Spring Boot学习笔记:项目开发中规范总结
Spring Boot在企业开发中使用的很广泛,不同的企业有不同的开发规范和标准.但是有些标准都是一致的. 项目包结构 以下是一个项目常见的包结构 以上是一个项目的基本目录结构,不同的项目结构会有差异 ...
- 【转】C#异步的世界【上】
[转]C#异步的世界[上] 新进阶的程序员可能对async.await用得比较多,却对之前的异步了解甚少.本人就是此类,因此打算回顾学习下异步的进化史. 本文主要是回顾async异步模式之前的异步,下 ...
- 【Redis】Redis cluster集群搭建
Redis集群基本介绍 Redis 集群是一个可以在多个 Redis 节点之间进行数据共享的设施installation. Redis 集群不支持那些需要同时处理多个键的 Redis 命令, 因为执行 ...
- mysql查看某个表的列名
mysql查看某个表的列名mysql -uusername -p 输入密码按登录mysqlshow databases; 查看有哪些数据库use dbname; 选择数据库show tables:查看 ...
- css固宽截取字符串
width:200px; white-space:nowrap; word-break:keep-all; overflow:hidden; text-overflow:ellipsis; 移动端支持 ...
- kbmMW均衡负载与容灾(3)(转载红鱼儿)
在kbmMW均衡负载与容灾(1)中,介绍了利用ClientTransport的OnReconnect事件,对联接的应用服务器的地址进行更换,做容灾处理.实际上,作者还给我们提供了另外一种机制,直接在C ...
- mysql 设置外键 四大属性 CASCADE SET NULL NO ACTION RESTRICT 理解
CASCADE:主表delete.update的时候,从表会delete.update掉关联记录: SET NULL:主表delete.update的时候,从表会将关联记录的外键字段所在列设为null ...
- nginx自动启动脚本
#!/bin/bash#nginx - this script starts and stops the nginx daemin # # chkconfig: - 85 15 # descripti ...