你的位置:首页 > ASP.net教程

[ASP.net教程]一个技术汪的开源梦 —— 基于 .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 这个文件。

 1 { 2  "version": "0.1.1-Beta", 3  "title": "Wlitsoft.Framework.Common", 4  "copyright": "Wlitsoft 2012 - 2016", 5  "description": "Wlitsoft 框架 - 公共类库", 6  "authors": [ "LILIANG" ], 7  "language": "zh-CN", 8  "packOptions": { 9   "repository": {10    "type": "git",11    "url": "git://github.com/wlitsoft/common"12   },13   "tags": [14    "common",15    "wlitsoft",16    "framework"17   ]18  },19  "dependencies": {20   "Common.Abstractions": "0.1.1-Beta",21   "NETStandard.Library": "1.6.0",22   "System.Runtime.Serialization.Json": "4.0.2",23   "System.24  },25  "buildOptions": {26   "outputName": "Wlitsoft.Framework.Common",27   "keyFile": "../../tools/Wlitsoft.Framework.snk",28   "nowarn": [ "CS1591" ],29   "true30  },31 32  "frameworks": {33   "netstandard1.6": {34    "imports": "dnxcore50"35   }36  }37 }


 解析:

 - version 项目版本号。

 - title 项目名称。

 - copyright 项目版权信息。

 - description 项目描述。

 - authors 作者。

 - language 语言。

 - packOptions 包的一些定义选项比如仓库地址、Nutget 包配置等。

 - dependencies 项目的依赖的组件。

 - buildOptions 编译时的选项。

   - outputName 输出 dll 的名称(常用)。

   - keyFile 组件签名文件路径。

   - 

更多配置详见:https://docs.microsoft.com/en-us/dotnet/articles/core/tools/project-json#packoptions

一个技术汪的开源梦 —— 目录