一个技术汪的开源梦 —— 基于 .Net Core 的公共组件之目录结构
这篇文章是开源公共组件的开篇那就先说说项目的 Github 目录结构和 .Net Core 的项目结构。
1. GitHub 目录结构和相关文件

- src 源码项目目录。
- test 单元测试项目目录。
- tools 工具目录。
- .gitignore 你想要忽略的文件或者目录(一些文件诸如 *.dll、testResults 等 不需要提交到 github 上的文件)详情:https://git-scm.com/docs/gitignore。
- .gitattribute 用于设置文件的对比方式(常用非文本文件)详情:https://git-scm.com/docs/gitattributes。
2. 项目解决方案目录结构和相关文件。

- src/Common 公共类库。
- src/Common.Abstractions 公共类库抽象。
- src/Common.JsonNet.JsonSerializer 公共类库 Json.Net 组件序列化者。
- test/Common.JsonNet.JsonSerializer 公共类库 Json.Net 组件序列化者单元测试。
- test/Common.Test 公共类库单元测试。
3. ASP.Net Core 类库项目结构。

- Common.xproj 类库项目文件。
- project.json .Net Core 项目新增文件,用于记录项目的基本信息以及组件依赖等。
project.json 文件解析
大家先看一下 Common 这个项目的 project.json 这个文件。
{
"version": "0.1.1-Beta",
"title": "Wlitsoft.Framework.Common",
"copyright": "Wlitsoft 2012 - 2016",
"description": "Wlitsoft 框架 - 公共类库",
"authors": [ "LILIANG" ],
"language": "zh-CN",
"packOptions": {
"repository": {
"type": "git",
"url": "git://github.com/wlitsoft/common"
},
"tags": [
"common",
"wlitsoft",
"framework"
]
},
"dependencies": {
"Common.Abstractions": "0.1.1-Beta",
"NETStandard.Library": "1.6.0",
"System.Runtime.Serialization.Json": "4.0.2",
"System.Xml.XmlSerializer": "4.0.11"
},
"buildOptions": {
"outputName": "Wlitsoft.Framework.Common",
"keyFile": "../../tools/Wlitsoft.Framework.snk",
"nowarn": [ "CS1591" ],
"xmlDoc": true
},
"frameworks": {
"netstandard1.6": {
"imports": "dnxcore50"
}
}
}
解析:
- version 项目版本号。
- title 项目名称。
- copyright 项目版权信息。
- description 项目描述。
- authors 作者。
- language 语言。
- packOptions 包的一些定义选项比如仓库地址、Nutget 包配置等。
- dependencies 项目的依赖的组件。
- buildOptions 编译时的选项。
- outputName 输出 dll 的名称(常用)。
- keyFile 组件签名文件路径。
- xmlDoc 是否输出 xml 的开关。
更多配置详见:https://docs.microsoft.com/en-us/dotnet/articles/core/tools/project-json#packoptions
一个技术汪的开源梦 —— 基于 .Net Core 的公共组件之目录结构的更多相关文章
- 一个技术汪的开源梦 —— 基于 .Net Core 的公共组件之 Http 请求客户端
一个技术汪的开源梦 —— 目录 想必大家在项目开发的时候应该都在程序中调用过自己内部的接口或者使用过第三方提供的接口,咱今天不讨论 REST ,最常用的请求应该就是 GET 和 POST 了,那下面开 ...
- 一个技术汪的开源梦 —— 基于 .Net Core 的公共组件之序列化
一个技术汪的开源梦 —— 目录 想必大家在项目中都接触过 JSON 或者 XML 吧,为了将对象在网络上传输或者将其持久化必须将其序列化为一个字符串然后进行后续操作.常见的就是将其序列化成 JSON ...
- 一个技术汪的开源梦 —— 基于 .Net Core 的组件 Nuget 包制作 & 发布
一个技术汪的开源梦 —— 目录 微软的 ASP.Net Core 强化了 Nuget 的使用,所有的 .Net Core 组件均有 Nuget 管理,所以有必要探讨一下 .Net Core 组件制作 ...
- 一个技术汪的开源梦 —— 微信开发工具包(WeixinSDK)
由于春节的关系 WeixinSDK 这个开源项目的进展比预期推迟了大约一个月的时间,值得高兴的是到目前为止该项目的重要模块已经开发完毕. - 关于项目 该项目的背景是现在微信公众号.微信服务号乃至微 ...
- 一个技术汪的开源梦 —— 公共组件缓存之分布式缓存 Redis 实现篇
Redis 安装 & 配置 本测试环境将在 CentOS 7 x64 上安装最新版本的 Redis. 1. 运行以下命令安装 Redis $ wget http://download.redi ...
- 二十一、【.Net开源框架】EFW框架Web前端开发之目录结构和使用FireBug调试方法
回<[开源]EFW框架系列文章索引> EFW框架源代码下载V1.2:http://pan.baidu.com/s/1hcnuA EFW框架实例源代码下载:http://pan.baidu. ...
- 统一流控服务开源:基于.Net Core的流控服务
先前有一篇博文,梳理了流控服务的场景.业界做法和常用算法 统一流控服务开源-1:场景&业界做法&算法篇 最近完成了流控服务的开发,并在生产系统进行了大半年的验证,稳定可靠.今天整理一下 ...
- 开源一个自己造的轮子:基于图的任务流引擎GraphScheduleEngine
GraphScheduleEngine是什么: GraphScheduleEngine是一个基于DAG图的任务流引擎,不同语言编写.运行于不同机器上的模块.程序,均可以通过订阅GraphSchedul ...
- prime 又一个开源的基于graphql 的cms
prime 是一个开源的基于graphql 的cms,类似的已经又好多了,strapi 就是一个(graphql 是通过插件扩展的) graphcms 是一款不错的,但是是收费的,prime 是基于t ...
随机推荐
- opencv源码:cascadedetect
级联分类器检测类CascadeClassifier,提供了两个重要的方法: CascadeClassifier cascade_classifier; cascade_classifier.load( ...
- js复杂对象和简单对象的简单转化
var course = { teacher :{ teacherId:001, teacherName:"王" }, course : { courseId : 120, cou ...
- 02.LoT.UI 前后台通用框架分解系列之——灵活的菜单栏
LOT.UI分解系列汇总:http://www.cnblogs.com/dunitian/p/4822808.html#lotui LoT.UI开源地址如下:https://github.com/du ...
- SQL Server-表表达式基础回顾(二十四)
前言 从这一节开始我们开始进入表表达式章节的学习,Microsoft SQL Server支持4种类型的表表达式:派生表.公用表表达式(CTE).视图.内嵌表值函数(TVF).简短的内容,深入的理解, ...
- .net windows Kafka 安装与使用入门(入门笔记)
完整解决方案请参考: Setting Up and Running Apache Kafka on Windows OS 在环境搭建过程中遇到两个问题,在这里先列出来,以方便查询: 1. \Jav ...
- My TWI
前言 对TWI没有什么特别的印象,因为有一个更出名的TWU,而我去年又刚好错过了它,因此TWU的光辉完全掩盖了TWI.对TWI印象最深的是在邮件中看到的38th北京的这期,看到他们的图文记录,在圈子中 ...
- JS继承之借用构造函数继承和组合继承
根据少一点套路,多一点真诚这个原则,继续学习. 借用构造函数继承 在解决原型中包含引用类型值所带来问题的过程中,开发人员开始使用一种叫做借用构造函数(constructor stealing)的技术( ...
- cocos2dx调用浏览器打开网址
安卓端cocos2dx/platform/android路径下CCApplication.h: virtual void openURL(const char* pszUrl); CCApplicat ...
- Flex 布局教程:语法篇
作者: 阮一峰 网页布局(layout)是CSS的一个重点应用. 布局的传统解决方案,基于盒状模型,依赖 display属性 + position属性 + float属性.它对于那些特殊布局非常不方便 ...
- SQL*Plus生成html文件
最近使用SQL*Plus命令生成html文件,遇到一些有意思的知识点,顺便记录一下,方便以后需要的时候而这些知识点又忘记而捉急.好记性不如烂笔头吗! 为什么要用SQL*Plus生成html文件? ...