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

这篇文章是开源公共组件的开篇那就先说说项目的 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 的公共组件之目录结构的更多相关文章

  1. 一个技术汪的开源梦 —— 基于 .Net Core 的公共组件之 Http 请求客户端

    一个技术汪的开源梦 —— 目录 想必大家在项目开发的时候应该都在程序中调用过自己内部的接口或者使用过第三方提供的接口,咱今天不讨论 REST ,最常用的请求应该就是 GET 和 POST 了,那下面开 ...

  2. 一个技术汪的开源梦 —— 基于 .Net Core 的公共组件之序列化

    一个技术汪的开源梦 —— 目录 想必大家在项目中都接触过 JSON 或者 XML 吧,为了将对象在网络上传输或者将其持久化必须将其序列化为一个字符串然后进行后续操作.常见的就是将其序列化成 JSON ...

  3. 一个技术汪的开源梦 —— 基于 .Net Core 的组件 Nuget 包制作 & 发布

    一个技术汪的开源梦 —— 目录 微软的 ASP.Net Core 强化了 Nuget 的使用,所有的 .Net Core 组件均有 Nuget 管理,所以有必要探讨一下 .Net Core 组件制作 ...

  4. 一个技术汪的开源梦 —— 微信开发工具包(WeixinSDK)

    由于春节的关系 WeixinSDK 这个开源项目的进展比预期推迟了大约一个月的时间,值得高兴的是到目前为止该项目的重要模块已经开发完毕.  - 关于项目 该项目的背景是现在微信公众号.微信服务号乃至微 ...

  5. 一个技术汪的开源梦 —— 公共组件缓存之分布式缓存 Redis 实现篇

    Redis 安装 & 配置 本测试环境将在 CentOS 7 x64 上安装最新版本的 Redis. 1. 运行以下命令安装 Redis $ wget http://download.redi ...

  6. 二十一、【.Net开源框架】EFW框架Web前端开发之目录结构和使用FireBug调试方法

    回<[开源]EFW框架系列文章索引> EFW框架源代码下载V1.2:http://pan.baidu.com/s/1hcnuA EFW框架实例源代码下载:http://pan.baidu. ...

  7. 统一流控服务开源:基于.Net Core的流控服务

    先前有一篇博文,梳理了流控服务的场景.业界做法和常用算法 统一流控服务开源-1:场景&业界做法&算法篇 最近完成了流控服务的开发,并在生产系统进行了大半年的验证,稳定可靠.今天整理一下 ...

  8. 开源一个自己造的轮子:基于图的任务流引擎GraphScheduleEngine

    GraphScheduleEngine是什么: GraphScheduleEngine是一个基于DAG图的任务流引擎,不同语言编写.运行于不同机器上的模块.程序,均可以通过订阅GraphSchedul ...

  9. prime 又一个开源的基于graphql 的cms

    prime 是一个开源的基于graphql 的cms,类似的已经又好多了,strapi 就是一个(graphql 是通过插件扩展的) graphcms 是一款不错的,但是是收费的,prime 是基于t ...

随机推荐

  1. webapi - 使用依赖注入

    本篇将要和大家分享的是webapi中如何使用依赖注入,依赖注入这个东西在接口中常用,实际工作中也用的比较频繁,因此这里分享两种在api中依赖注入的方式Ninject和Unity:由于快过年这段时间打算 ...

  2. 开源:Taurus.MVC 框架

    为什么要创造Taurus.MVC: 记得被上一家公司忽悠去负责公司电商平台的时候,情况是这样的: 项目原版是外包给第三方的,使用:WebForm+NHibernate,代码不堪入目,Bug无限,经常点 ...

  3. Microservice Anti-patterns

    在最近的一次Microservices Practitioner Summit中,原Netflix工程师介绍了一种越来越常见的对Microservice的误用.简单地说,大家在搭建一个基于Micros ...

  4. 背后的故事之 - 快乐的Lambda表达式(一)

    快乐的Lambda表达式(二) 自从Lambda随.NET Framework3.5出现在.NET开发者眼前以来,它已经给我们带来了太多的欣喜.它优雅,对开发者更友好,能提高开发效率,天啊!它还有可能 ...

  5. SQL数据库之DQL

    初来乍到,我是一个Java行业的小学生,刚学半年. 今天老师讲了数据库的操作语句,在这里与大家分享一下我学到的知识吧,要是有不足的地方麻烦大家指出来,共同进步,共同提高! 1.数据库中的各种符号 %: ...

  6. 带你实现开发者头条APP(三) 首页实现

    title: 带你实现开发者头条APP(三) 首页实现 tags: 轮播广告,ViewPager切换,圆形图片 grammar_cjkRuby: true --- 一.前言 今天实现开发者头条APP的 ...

  7. 香蕉云APP,2016下半年开发日记

    2016-6-17  数据库设计不应该过多依赖范式,适度的冗余可以加快搜索速度,在服务器的配置还可以的情况下,可以采用冗余来解决查找慢的问题.还一个是要选择好数据库引擎,例如 InnoDB 和 myi ...

  8. PHP设计模式(六)原型模式(Prototype For PHP)

    原型设计模式: 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象. 原型设计模式简单的来说,顾名思义, 不去创建新的对象进而保留原型的一种设计模式. 缺点:原型设计模式是的最主要的缺点就 ...

  9. 【第三篇】ASP.NET MVC快速入门之安全策略(MVC5+EF6)

    目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...

  10. 让 asp.net 在 mac 上飞

    .NET 不跨平台一直饱受争议,虽然微软前端时间放出些消息,要支持.NET跨平台的发展,但是微软一直坚持着不主动.不拒绝.不负责的三不态度,仍然用一种软件帝国的心态,折腾着一些毫无新意的东西.微软想要 ...