设为首页 收藏本站
查看: 1090|回复: 0

[经验分享] 在Mac下运行ASP.NET Core应用程序

[复制链接]
累计签到:1365 天
连续签到:1 天
发表于 2017-2-23 11:56:18 | 显示全部楼层 |阅读模式
在Mac下运行ASP.NET Core应用程序
  通过参照.NET Core相关官方文档,在我的Mac电脑上用Visual Studio Code创建了我的第一个ASP.NET应用。

开发环境搭建
  首先要先安装.Net Core和Visual Studio Code,并且要给Visual Studio Code安装
  
C# extension,另外要到nodejs.org
  
安装Node.js和npm。

利用Yeoman搭建应用
  由于我们在安装Node.js时自带的npm地址是墙外,npm install有可能没有反应或者很卡。所以本文所有的npm安装都使用了淘宝NPM镜像:
npm install cnpm -g --registry=https://registry.npm.taobao.org
DSC0000.png

  使用npm安装必要的yeoman generators和bower。
sudo cnpm install -g yo generator-aspnet bower
DSC0001.png


  Yeoman的logo是一个戴帽子的男人。它其实是一个工作流,这个工作流包含了三种用来提升你构建一个Web应用的生产力和满意度的工具:
  
脚手架工具(yo), 构建工具(Gulp,Grunt等), 包管理工具(比如npm和Bower)。

  使用yo aspnet来运行ASP.NET Core generator,以生成一个Web Application基础模板。
yo aspnet
  yo aspnet生成的模板都是基于大家熟悉的Visual Studio 2015上的模板,这个模板维护在ASP.NET Templates project。

DSC0002.png

  然后会提示What type of application do you want to create?
  这里选择Web Application Basic [without Membership and Authorization]并回车。
  接着会提示Which UI framework would you like to use?
DSC0003.png

  这里选择Bootstrap (3.3.6) as the UI framework并回车。
  用MyFirstApp作为应用名称并回车。如下图:
DSC0004.png

  
DSC0005.png
  此时generator会生成项目的基础框架文件,然后提示你分别执行restore,build,run命令。
Your project is now created, you can use the following commands to get going  cd "MyFirstApp"
  dotnet restore
  dotnet build (optional, build will also happen with it‘s run)
  dotnet run
DSC0006.png

  
DSC0007.png
  
DSC0008.png
  
DSC0009.png
  至此,打开本地的浏览器在地址栏输入:http://localhost:5000,即可访问你创建的第一个程序。

使用Visual Studio Code开发应用
  用Visual Studio Code打开刚刚创建的项目,通过快捷键⌘⇧P输入dot,选择dotnet: Restore Packages来restore必要的build和debug项目依赖。可以在VS Code中直接运行包括dotnet restore在内的命令和所有在project.json文件中引用到的工具以及在.vscode/tasks.json中自定义的任务。
DSC00010.png

  你还可以通过快捷键⌃`调出集成在VS Code里面的控制台。
DSC00011.png

  对于未被用到的using语句会被标记一道绿色波浪线,鼠标移到上面还有显示一个黄色小灯泡,此时你可以使用⌘ .移除它们;类和方法也会显示它们在该项目中被引用的次数;还可以通过⌘KC来添加代码块注释,通过⌘KU来取消注释。
DSC00012.png

  点击VS Code左侧调试窗格中的绿色三角形的调试按钮,可能会在顶部出现一个错误提示信息:
  
DSC00013.png
  根据错误提示可知,我们需要配置launch.json文件里面的program为实际的可执行文件。
DSC00014.png

  配置成功后,我们可以给程序设置断点、添加监视等。
DSC00015.png

  最终程序会调出本地默认的浏览器程序并导航到http://localhost:5000,效果如下:
DSC00016.png


基于Kestrel本地运行应用
  本示例采用Kestrel作为Web服务器,可以在project.json里看到它被作为一个依赖项。
DSC00017.png


  KestrelHttpServer服务器是微软推出的唯一一款基于跨平台网络库libuv的跨平台Web服务器。
  
通过代码可以发现通过调用IWebHostBuilder的UseKestrel扩展方法即可完成对KestrelHttpServer的注册。

  

namespace Microsoft.AspNetCore.Hosting  
{

  public static>  {
  public static IWebHostBuilder UseKestrel(this IWebHostBuilder hostBuilder)
  {
  return hostBuilder.ConfigureServices(services =>
  {
  services.AddTransient<IConfigureOptions<KestrelServerOptions>, KestrelServerOptionsSetup>();
  services.AddSingleton<IServer, KestrelServer>();
  });
  }
  

  public static IWebHostBuilder UseKestrel(this IWebHostBuilder hostBuilder,
  Action<KestrelServerOptions> options)
  {
  return hostBuilder.UseKestrel().ConfigureServices(services =>
  {
  services.Configure(options);
  });
  }
  }
  
}
  

参考资源


  • Building Projects with Yeoman
  • generator-aspnet
  • Your First ASP.NET Core Application on a Mac Using Visual Studio Code
个人博客
  我的个人博客
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-346218-1-1.html 上篇帖子: 总结一年来的前端学习心得 下篇帖子: 前端工程师是怎么练成的
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表