Mac OS X

Mac OS X

除了微软自家的Windows平台, .NET Core针对Mac OS以及各种Linux(RHEL、Ubuntu、Debian、Fedora、CentOS和SUSE等)都提供了很好的支持,我们先来体验一下使用Mac来开发.NET Core应用,在这之前我们照例先得构建我们的开发环境。

一、安装开发环境

和Windows一样,如果我们下午在Mac上进行.NET Core应用的开发,我们只需要安装 .NET Core SDK和相应的IDE就可以了。对于前者,我们可以直接从微软官方站点(https://www.microsoft.com/net/core#macos),SDK安装之后我们将拥有.NET Core针对Mac OS的运行时和相应工具,其中包含在《.NET Core多平台开发体验[1]: Windows》频繁使用的命令行工具 dotnet。.NET Core SDK安装完成之后,我们可以执行dotnet –info命令检验SDK是否被成功安装。如果SDK被成功安装之后,我们可以如下图所示的基本信息,可以看出显示的运行时环境信息是与当前安装的操作系统相匹配的。

对于Mac OS X的.NET Core应用的开发人员,他们在IDE上同样具有广泛的选择。首先,Visual Studio目前推出了Mac版本,虽然和Windows版本在功能和稳定性上还有一定的差距,但是对于习惯了Visual Studio的Mac用户来算是福音。除此之外,我们可以选择免费的Visual Studio Code,如果不太喜欢这种风格的IDE,还可以选择JetBrains的Rider。

二、利用命令行创建.NET Core程序

对于Windows和Mac用户来说,针对他们的开发体验基本上是一致的,因为.NET Core SDK提供命令行(主要是dotnet这个命令行工具)具有一致的API定义,而且他们可以选择相同的IDE(Visual Studio和Visual Studio Code)。我们先通过dotnet new这个脚手架命令行工具按照如下图所示的方式创建一个名为helloworld的控制台应用。

上图(右)所示的是脚手架命令行创建的控制台应用的项目结构,可以看出它与我们在Windows上执行相同命令创建的应用具有相同的文件结构。不仅如此,生成的文件内容也完全一致,定义项目的helloworld.csproj文件和程序文件Program.cs文件的内容如下所示。

helloworld.csproj

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp2.0</TargetFramework>
  </PropertyGroup>
</Project>

Pprogram.cs

using System;
namespace helloworld
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
        }
    }
}

我们在无需对创建出来的应用做任何改动的情况下可以直接执行dotnet命令行来启动该控制台程序。如下面的代码片段所示,在将当前目录切换到控制台应用所在项目根目录之后,我们直接执行dotnet run命令启动该程序,随后在Main方法中输出到控制台上的“Hello World”字符串被打印出来。

三、改造成ASP.NET Core MVC应用

在《.NET Core多平台开发体验[1]: Windows》中,我们演示了如何将一个通过脚手架命令行创建的控制台应用一步步改造成ASP.NET Core MVC应用,既然.NET Core提供真正的跨平台支持,那么我们按照相同方式改造的ASP.NET Core MVC应用同样可以在Mac OS上运行,接下来我们就来验证一下。

我们首先需要安装所需的NuGet包,虽然WebHost和WebHostBuilder这两个核心的类型定义在NuGet包“Microsoft.AspNetCore.Hosting”中,但是对ASP.NET Core MVC框架提供实现的“Microsoft.AspNetCore.Mvc”依赖这个NuGet包,所以我们只需要安装后者就可以了。除此之外,我们还需要安装的就是提供了跨平台服务器KestrelHttpServer的NuGet包“Microsoft.AspNetCore.Server.Kestrel”。上面介绍的若干种NuGet包的安装方式在这里同样适用,我们现在选择命令行的方式安装方式,为此我们按照如下图所示的方式执行dotnet add package命令将上述两个NuGet包安装到当前项目上。

不论我们采用何种方式,安装的NuGet包最终会体现在定义项目的.cspoj文件中,所以打开helloworld.csproj文件,我们会看到如下的内容,我们安装的两个NuGet包体现为<ItemGroup>节点下的两个< PackageReference>元素。

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp2.0</TargetFramework>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.0.0" />
    <PackageReference Include="Microsoft.AspNetCore.Server.Kestrel" Version="2.0.0" />
  </ItemGroup>
</Project>

所需的NuGet包安装完毕之后,我们选择相应的IDE或者纯文本编辑器对Program.cs进行如下的修改,那么我们的应用就变成了一个简单的ASP.NET Core MVC应用。经过上面的介绍,相信读者朋友们已经很清楚了每一行代码的含义,所以在这里我们就不在赘言介绍了。

using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.DependencyInjection;

namespace helloworld
{
    class Program
    {
        static void Main(string[] args)
        {
            new WebHostBuilder()
                .UseKestrel()
                .ConfigureServices(svcs => svcs.AddMvc())
                .Configure(app => app.UseMvc())
                .Build()
                .Run();
        }
    }

    public class HelloController
    {
        [HttpGet("/hello/{name}")]
        public string SayHello(string name)
        {
            return $"Hello, {name}";
        }
    }
}

到目前为止,所有的编程工作都已经结束,我们只需要按照我们熟悉的方式执行dotnet run命令就可以启动这个程序。程序启动之后利用浏览器访问地址“http://localhost:5000/hello/foobar”,我们会得到如图1-21所示的输出结果。

.NET Core多平台开发体验

.NET Core多平台开发体验[1]: Windows
.NET Core多平台开发体验[2]: Mac OS X
.NET Core多平台开发体验[3]: Linux
.NET Core多平台开发体验[4]: Docker

时间: 2024-11-29 00:03:46

Mac OS X的相关文章

Qt在Mac OS X下的编程环境搭建(配置Qt库和编译器,有图,很清楚)

尊重作者,支持原创,如需转载,请附上原地址:http://blog.csdn.net/libaineu2004/article/details/46234079 在Mac OS X下使用Qt开发,需要配置Qt库和编译器.编译器只能使用苹果公司自主研发的Clang.1.分别下载并安装XCode和Command Line Tools(必须安装),安装完毕后,Clang就有了. https://developer.apple.com/downloads/ 2.下载Qt并默认安装 http://down

Mac OS X 10.10上以命令行模式使用GLWF3

GLWF3的介绍请移步其官网:http://www.glfw.org/docs/latest/index.html 按照其官网上的安装介绍,用cmake从源码安装GLWF3 Building Applications with GLWF3可以见http://www.glfw.org/docs/latest/build.html#build_link_osx 但它给的用命令行模式在Mac OS X上使用的方法是不全的,会导致不少错误,比如: Undefined symbols for archit

Mac OS X Yosemite 10.10 配置 Apache+PHP

查看当前系统的apache版本,终端下输入:httpd -v 1. 启动Apache 服务 sudo apachectl start 打开safari,访问:http://localhost,显示“It works!”表示Apache启动正常 当前访问的是Apache的默认目录,/Library/WebServer/Documents/ 2. 配置用户访问目录 因为之前已经配置过用户目录,这里提一下,首先创建用户目录:mkdir  ~/Sites 此时会在当前用户的根目录下创建一个Sites目录

QT5.x应用在Mac OS X和Windows平台的发布过程

QT是一款非常牛逼的跨平台开发工具,目前可以开发Mac OS X.Windows.Linux.Android.iOS等平台的App.对于Android和iOS平台,发布相对容易,例如,Android平台是生成apk文件上传到Android设备的,所以直接安装apk文件即可.不过对于PC平台(Mac OS X.Windows和Linux)的应用,在发布时就显得麻烦些. 本文主要介绍Mac OS X和Windows平台的发布过程.这两个平台运行的应用都称为可执行程序.Windows平台可执行文件扩展

在Mac OS X上利用Spotlight搜索代码

用grep来搜代码和方便,最原生态了,常用的: ? ~ grep 'NuPlayer' -iInr --color ./aosp 其中`i`表示大小写忽略:`I`表示忽略binary文件:`n`显示搜索结果的行号:`r`表示递归搜索子目录 不过grep搜索有点慢,网上也很多通过建立索引加快搜索速度的方法:"other grep-like tools and indexing tools" 一向用户体验著称的Mac指定不会缺少这个,`Spotlight`就是系统自带的基于索引搜索工具,使

VMware Workstation11.0安装Mac OS X 10.10最完整指南(包含所需所有资源下载)

前言说明:最近换了新的电脑,配置好很多了,想装下虚拟机来玩下IOS,其中也遇到了几个大坑,现在刚完全装好,把所有步骤以及资源整合到一处,后面的朋友可以避免浪费很多无谓的百度时间. ""我先把使用到的程序以及版本说明下,因为这非常总要,使用虚拟机安装mac,其实就是装黑苹果,这要依赖很多破解工具,但这些工具都是有版本支持的.我这些版本装的没问题,但是你如果下载网上其他版本,我就不能确保一定没问题了,只能是自己试了."" VMware 11.0 永久不过期激活密钥 1F

sublime text3安装 mac os汉化/常用模块

sublime text介绍: Sublime Text 是一个代码编辑器(Sublime Text 2是收费软件,但可以无限期试用),也是HTML和散文先进的文本编辑器.Sublime Text是由程序员Jon Skinner于2008年1月份所开发出来,它最初被设计为一个具有丰富扩展功能的Vim. Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等.还可自定义键绑定,菜单和工具栏.Sublime Text 的主要功能包括:拼写检查,书签,完整

Mac OS X 10.12.5下Anaconda中JupyterNotebook出现&quot;不理解“open location”信息。 (-1708)&quot;错误的解决方法

在更新Mac OS X 10.12.5后,发现当通过Anaconda打开JupyterNotebook时出现了以下错误,而且JupyterNotebook并没有通过浏览器启动 我们退出Anaconda,系统提示是否退出JupyterNotebook,这说明JupyterNotebook已经在8888端口上运行了 我们在浏览器地址栏输入(http://localhost:8888)就可以跳转到JupyterNotebook页面,但此时我们会发现页面要求我们输入密码 但这个密码之前并没有被设置过,尝

mac os+selenium2+chrome驱动+python3

mac os 10.11.5 mac自带python2.7,自己下载了python3.5,pip list查看系统中的安装包,本人电脑中已经安装了pip和setuptools,若未安装,请先使用 sudo apt-get install python3-setuptools 1 1 sudo apt-get install python3-pip 1 1 若使用命令有问题,可自行到官网下载相应安装包,执行Python setup.py install 安装即可: 1.安装selenium 执行 

install Mac OS on Vmware

本文将用详尽的图文介绍如何在虚拟机中安装运行Mac OS X,只要严格地按照本教程一步步操作,即使不了解苹果电脑的读者,也能顺利地安装并运行Mac OS X. 一.准备工作 VMWare 12 Pro百度云:http://pan.baidu.com/s/1hrSuPZe 密码:7qz3360云盘:https://yunpan.cn/c67BiTFmzxpVs 访问密码 21cc Unlocker补丁工具百度云:http://pan.baidu.com/s/1pLLBnf1 密码:pcuu360云