一个技术汪的开源梦 —— 基于 .Net Core 的公共组件之目录结构
2016-11-05 18:20
489 查看
一个技术汪的开源梦 —— 目录
这篇文章是开源公共组件的开篇那就先说说项目的 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 项目版本号。
- 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
一个技术汪的开源梦 —— 目录
这篇文章是开源公共组件的开篇那就先说说项目的 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 请求客户端
- 一个技术汪的开源梦 —— 基于 .Net Core 的组件 Nuget 包制作 & 发布
- 一个技术汪的开源梦 —— 公共组件缓存之分布式缓存 Redis 实现篇
- 一个基于DDD的开源项目,各种技术!
- 一个技术汪的开源梦 —— 目录
- 开源一个基于SQLAlchemy左右值存储的树组件
- 基于apache组织的commonNet开源组件实现ftp客户端的上传功能
- ZedGraph:一个同时支持WinForm和WebForm的开源图表控件(基于LGPL协议,.NET 2.0 C#源代码)
- CSS生成动态目录结构:COOLjsMenuPRO组件
- 基于组件技术的C#开发 --委托
- 基于组件技术的C#开发 ---深度聚集
- 基于组件技术的C#开发 ---组件分类系统 ---角色分类系统
- 基于目录结构认证的问题
- 一个web项目的目录结构示例
- KTDictSeg 一个C#.net做的简单快速准确的开源中文分词组件
- 基于.NET 2.0的GIS开源项目SharpMap分析手记(二):源代码总体结构分析
- 基于myFaces的JSF技术使用中的一些经验(三)[godroad原创]--使用myFaces的建立一个xml文件的树形表示
- 基于Ajax技术实现的下拉数据表格组件
- 删去一个目录下的所有文件,而保留目录结构