A technology Wang's open source dream--Catalogue
This article is the opening of the open source public component, so let's talk about the project's Github directory structure and the project structure of. Net Core.
1. GITHUB directory structure and related files
-SRC source project directory.
-Test Unit Testing project directory.
-Tools Tool Catalog.
-. Gitignore The files or directories you want to ignore (some files such as *.dll, testresults, etc. that do not need to be submitted to GitHub) details: Https://git-scm.com/docs/gitignore.
-. Gitattribute used to set how files are compared (common non-text files) Details: https://git-scm.com/docs/gitattributes.
2. Project solution directory structure and related documents.
-Src/common public class library.
-Src/common.abstractions public class library abstraction.
-Src/common.jsonnet.jsonserializer public class Library Json.NET component serializer.
-Test/common.jsonnet.jsonserializer public class Library Json.NET component Serializer Unit test.
-Test/common.test public class library unit tests.
3. ASP. NET Core Class library project structure.
-Common.xproj Class Library project file.
-Project.json. Net Core Project new files for documenting basic information about the project, component dependencies, and so on.
Project.json File parsing
Let's take a look at Common this project Project.json this file.
1 {2"Version": "0.1.1-beta",3"title": "Wlitsoft.Framework.Common",4"Copyright": "Wlitsoft 2012-2016",5"description": "Wlitsoft framework-public class library",6"Authors": ["Liliang" ],7"Language": "ZH-CN",8"Packoptions": {9"Repository": {Ten' type ': ' Git ', One"url": "Git://github.com/wlitsoft/common" A }, -"Tags": [ -"Common", the"Wlitsoft", -"Framework" - ] - }, +"Dependencies": { -"Common.abstractions": "0.1.1-beta", +"Netstandard.library": "1.6.0", A"System.Runtime.Serialization.Json": "4.0.2", at"System.Xml.XmlSerializer": "4.0.11" - }, -"Buildoptions": { -"Outputname": "Wlitsoft.Framework.Common", -"KeyFile": ". /.. /tools/wlitsoft.framework.snk ", -"NoWarn": ["CS1591" ], in"XmlDoc":true - }, to +"Frameworks": { -"netstandard1.6": { the"Imports": "Dnxcore50" * } $ }Panax Notoginseng}
Analytical:
-Version number of the project.
-Title project name.
-Copyright information of copyrighted project.
-Description Item description.
-authors author.
-language language.
-Some definition options for the Packoptions package such as warehouse address, Nutget package configuration, and so on.
-dependent components of the dependencies project.
-Buildoptions The Compile-time option.
-Outputname The name of the output DLL (common).
-keyfile Component Signature file path.
-XmlDoc whether to export the XML switch.
More configuration See: https://docs.microsoft.com/en-us/dotnet/articles/core/tools/project-json#packoptions
A technology Wang's open source dream--Catalogue
A technology Wang's open source dream--a directory structure based on the common components of. Net Core