????:這篇文章是開(kāi)源公共組件的開(kāi)篇那就先說(shuō)說(shuō)項(xiàng)目的 Github 目錄結(jié)構(gòu)和 .Net Core 的項(xiàng)目結(jié)構(gòu)。1. GitHub 目錄結(jié)構(gòu)和相關(guān)文件 - src 源碼項(xiàng)目目錄。 - test 單元測(cè)試項(xiàng)目目錄。 - tools 工具目錄。 - .gitignore 你想要忽略的文件或者目錄(一些文件諸如 *.dll、testResults 等
這篇文章是開(kāi)源公共組件的開(kāi)篇那就先說(shuō)說(shuō)項(xiàng)目的 Github 目錄結(jié)構(gòu)和 .Net Core 的項(xiàng)目結(jié)構(gòu)。
1. GitHub 目錄結(jié)構(gòu)和相關(guān)文件
- src 源碼項(xiàng)目目錄。
- test 單元測(cè)試項(xiàng)目目錄。
- tools 工具目錄。
- .gitignore 你想要忽略的文件或者目錄(一些文件諸如 *.dll、testResults 等 不需要提交到 github 上的文件)詳情:https://git-scm.com/docs/gitignore。
- .gitattribute 用于設(shè)置文件的對(duì)比方式(常用非文本文件)詳情:https://git-scm.com/docs/gitattributes。
2. 項(xiàng)目解決方案目錄結(jié)構(gòu)和相關(guān)文件。
- src/Common 公共類庫(kù)。
- src/Common.Abstractions 公共類庫(kù)抽象。
- src/Common.JsonNet.JsonSerializer 公共類庫(kù) Json.Net 組件序列化者。
- test/Common.JsonNet.JsonSerializer 公共類庫(kù) Json.Net 組件序列化者單元測(cè)試。
- test/Common.Test 公共類庫(kù)單元測(cè)試。
3. ASP.Net Core 類庫(kù)項(xiàng)目結(jié)構(gòu)。
- Common.xproj 類庫(kù)項(xiàng)目文件。
- project.json .Net Core 項(xiàng)目新增文件,用于記錄項(xiàng)目的基本信息以及組件依賴等。
project.json 文件解析
大家先看一下 Common 這個(gè)項(xiàng)目的 project.json 這個(gè)文件。
{ "version": "0.1.1-Beta", "title": "Wlitsoft.Framework.Common", "copyright": "Wlitsoft 2012 - 2016", "description": "Wlitsoft 框架 - 公共類庫(kù)", "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 項(xiàng)目版本號(hào)。
- title 項(xiàng)目名稱。
- copyright 項(xiàng)目版權(quán)信息。
- description 項(xiàng)目描述。
- authors 作者。
- language 語(yǔ)言。
- packOptions 包的一些定義選項(xiàng)比如倉(cāng)庫(kù)地址、Nutget 包配置等。
- dependencies 項(xiàng)目的依賴的組件。
- buildOptions 編譯時(shí)的選項(xiàng)。
- outputName 輸出 dll 的名稱(常用)。
- keyFile 組件簽名文件路徑。
- xmlDoc 是否輸出 xml 的開(kāi)關(guān)。