在Mac上开发使用yeoman构建Asp.net core项目并且实现分层引用
1.Yeoman?
yeoman是一个自动化脚手架工具。它提供很多generator,generator相当于VisualStudio的模板,用来初始化项目。更多的就不多说了,写一遍都写不完,自己看吧。
http://yeoman.io/
2.安装 yeoman
安装yeoman之前你需要先安装npm。npm是一个JavaScript的包管理工具,一般跟nodejs配合使用。https://docs.npmjs.com/getting-started/what-is-npm
使用npm来安装yeoman:
$npm install -g yo
安装速度比较慢,请registry阿里的npm镜像这样会快很多。
3.安装 generator-aspnet
generator-aspnet就是asp.net core的构建器了,我们需要安装它。
generator-aspnet依赖bower工具,所以我们要一起安装。
$npm install -g bower
$npm install -g generator-aspnet
安装完成后就可以使用yeoman了。
4.使用 yeoman
使用之前我们先假设一下我们的项目叫Coreyo,其中分了2个项目,一个叫Coreyo.Web,一个叫Coreyo.Services。
我们先新建一个项目的根目录Coreyo
mkdir Coreyo
cd Coreyo
使用yeoman创建Coreyo.Web
yo aspnet
yeoman会显示一个界面让你去选择创建的项目的类型
我们随便选一个,就选Web Application Basic 项目吧。
选中之后回车,接着选择使用哪个UI组件
选择Bootstrap就好了,选中回车。
接着让填写项目的名称Coreyo.Web,回车之后yeoman会帮你生成所有的文件,包括默认的Controllers,Views,JavaScript库等,这个跟我们利用ViusalStudio来新建一个项目完成的工作是一样的。
我们用VSCode打开项目文件夹看一下。
运行一下吧。
cd Coreyo.Web
dotnet restore
dotnet build
dotnet run
使用yeoman新建Coreyo.Services
我们开发项目的时候肯定是要分层的比如UI,Services,Data,Models等。如果是VS的话就是在解决方案上右键新建项目了,但是VSCode显然是不支持的。我们还得手工来建。
cd ..
yo aspnet
跳到根目录下使用yo aspnet命令来新建一个项目
然后在选择项目类型的时候选择 Library,然后填写一个名字Coreyo.Services回车之后就会自动生成了。
我们使用VSCode打开这个项目,然后把Class1重命名为UserService,添加一个GetUserName的方法。
namespace Coreyo.Services
{
public class UserService
{
public static string GetUserName(string userId)
{
return "Agile.zhou";
}
}
}
然后restore,build一下,没有错误。
Coreyo.Web引用Coreyo.Services
但是现在Coreyo.Services跟Coreyo.Web两个项目是独立,VSCode又没有VS的引用功能,怎么才能让Coreyo.Web来引用Coreyo.Services并调用它的方法呢?
我们打开Coreyo.Web的project.json,在dependencies节点下添加对Coreyo.Services的引用。
"Coreyo.Services":"1.0.0"
然后我们对Coreyo.Services打包
dotnet pack
打包成功后,我们切换到Coreyo.Web目录下,使用restore还原
cd ..
cd Coreyo.Web
dotnet restore
还原成功后我们来在HomeController/Index里调用一下UserService的GetUserName方法。
当用户访问首页的时候就会在控制台打印出用户名Agile.zhou
然后我们build,Run Coreyo.Web
dotnet build
dotnet run
看一下控制台
可见我们的Services被调用成功了。
kun,ZZZZZzzzzzz...
在Mac上开发使用yeoman构建Asp.net core项目并且实现分层引用的更多相关文章
- yoeman构建Asp.net core项目并且实现分层
在Mac上开发使用yoeman构建Asp.net core项目并且实现分层引用 1.Yoeman? yoeman是一个自动化脚手架工具.它提供很多generator,generator相当于Visua ...
- 尝试在mac上用dotnet cli运行asp.net core示例程序
自从知道微软用dotnet cli取代dnx之后,一直在等dotnet cli支持asp.net core... 昨天看到这篇新闻(ASP.NET Core 1.0 Hello World)后,才知道 ...
- 《ASP.NET Core项目开发实战入门》带你走进ASP.NET Core开发
<ASP.NET Core项目开发实战入门>从基础到实际项目开发部署带你走进ASP.NET Core开发. ASP.NET Core项目开发实战入门是基于ASP.NET Core 3.1 ...
- 在 Mac 上开发 .NET MAUI
.NET 多平台应用程序 UI (.NET MAUI) 是一个跨平台框架,用于使用 C# 和 XAML 创建本机移动和桌面应用程序,这些应用程序可以从单个共享代码库在 Android.iOS.macO ...
- 在 M1 Mac 上开发 .NET MAUI (iOS)
在 M1 Mac 上开始使用 .NET MAUI 开发 (iOS) 的最简单方法. .NET 多平台应用程序 UI (.NET MAUI) 是一个跨平台框架,用于使用 C# 和 XAML 创建本机移动 ...
- 使用Visual Studio Team Services持续集成(一)——构建ASP.NET Core
使用Visual Studio Team Services持续集成(一)--构建ASP.NET Core 概述 持续集成(CI)是将代码尽可能频繁地集成到共享仓库中的过程.在代码集成期间,构建中断或测 ...
- 在传统.NET Framework 上运行ASP.NET Core项目
新的项目我们想用ASP.NET Core来开发,但是苦于我们历史的遗产很多,比如<使用 JavaScriptService 在.NET Core 里实现DES加密算法>,我们要估计等到.N ...
- 【无私分享:ASP.NET CORE 项目实战(第十章)】发布项目到 Linux 上运行 Core 项目
目录索引 [无私分享:ASP.NET CORE 项目实战]目录索引 简介 ASP.Net Core 给我们带来的最大的亮点就是跨平台,我在我电脑(win7)上用虚拟机建了个 CentOS7 ,来演示下 ...
- C# -- HttpWebRequest 和 HttpWebResponse 的使用 C#编写扫雷游戏 使用IIS调试ASP.NET网站程序 WCF入门教程 ASP.Net Core开发(踩坑)指南 ASP.Net Core Razor+AdminLTE 小试牛刀 webservice创建、部署和调用 .net接收post请求并把数据转为字典格式
C# -- HttpWebRequest 和 HttpWebResponse 的使用 C# -- HttpWebRequest 和 HttpWebResponse 的使用 结合使用HttpWebReq ...
随机推荐
- HTML设计模式学习笔记
本周我主要学习了HTML的设计模式,现将我的学习内容总结如下: 一.盒模型的学习 CSS中有一种基础的设计模型叫做盒模型,它定义了元素是如何被看做盒子来解析的.我主要学习了六种盒模型,分别为内联盒模型 ...
- FMX保存JPG格式的Stream
刚刚看以前的笔记,估计这个用的人很少 var surf:TBitmapSurface; astream:TmemoryStream; begin surf:=TbitmapSurface.Create ...
- PreparedStatement的应用
package it.cast.jdbc; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql ...
- Java NIO4:Socket通道
Socket通道 上文讲述了通道.文件通道,这篇文章来讲述一下Socket通道,Socket通道与文件通道有着不一样的特征,分三点说: 1.NIO的Socket通道类可以运行于非阻塞模式并且是可选择的 ...
- 让浏览器不再显示 https 页面中的 http 请求警报
HTTPS 是 HTTP over Secure Socket Layer,以安全为目标的 HTTP 通道,所以在 HTTPS 承载的页面上不允许出现 http 请求,一旦出现就是提示或报错: Mix ...
- 从Undo,Redo谈命令模式
一般的应用软件中,通常会提供Redo和Undo的操作,比如Paint.NET中的动作面板,Word中的撤销重做,一般我们按Ctrl-Z即可回退到上次操作. 要实现上面的这一功能,最直观的想法就是,我们 ...
- Azure PowerShell (11) 使用自定义虚拟机镜像模板,创建Azure虚拟机并绑定公网IP(VIP)和内网IP(DIP)
<Windows Azure Platform 系列文章目录> 前提要求: 1.假设笔者捕获一个Azure虚拟机模板,命名为leistorage 关于Azure虚拟机模板,请参考下图: 2 ...
- Maven常用插件
maven利用各种插件来管理构建项目,本文记录下工作中常用到的插件及使用方法.每个插件都会提供多个目标(goal),用于标示任务.各插件配置在pom.xml里,如下: <build> [. ...
- Java中常见的29个运行异常
ArithmeticException, ArrayStoreException, BufferOverflowException, BufferUnderflowException, CannotR ...
- How To Install Proxmox Nested on VMware ESXi (Full Support OpenVZ & KVM)
https://imanudin.net/2015/03/04/how-to-install-proxmox-nested-on-vmware-esxi-full-support-openvz-kvm ...