zoukankan      html  css  js  c++  java
  • 一个技术汪的开源梦 —— 基于 .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.Xml.XmlSerializer": "4.0.11"
    24   },
    25   "buildOptions": {
    26     "outputName": "Wlitsoft.Framework.Common",
    27     "keyFile": "../../tools/Wlitsoft.Framework.snk",
    28     "nowarn": [ "CS1591" ],
    29     "xmlDoc": true
    30   },
    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 组件签名文件路径。

       - xmlDoc 是否输出 xml 的开关。

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

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

  • 相关阅读:
    addEventListener-第三个参数 useCapture
    介绍(javascript调试)
    Linux_PXE服务器_RHEL7
    Linux_PXE服务器_RHEL7
    Linux_OpenSSH远程连接
    Linux_OpenSSH远程连接
    Python基本语法_强制数据类型转换
    Python基本语法_强制数据类型转换
    Linux_NetworkManager_RHEL7
    Linux_NetworkManager_RHEL7
  • 原文地址:https://www.cnblogs.com/wlitsoft/p/6033079.html
Copyright © 2011-2022 走看看